{
  "frozen_commit": "15e8878",
  "scope": "disjoint same-study SNPs and synthetic checks; not general accuracy or usability",
  "numeric_tolerance": "relative 1e-6; zero exact; allele-aware reorientation used only by scorer",
  "selection": {
    "source": "/Users/mlemsalu/Desktop/gwas-harmonizer/results/benchmarks/GWAS_Catalog_GCST90018642_harmonised_control.tsv.gz",
    "source_sha256": "7f0e747b719a54dbfc81ba07ecbe7568962687b7ff8be06def06f79f266bc2e4",
    "previous_truth_sha256": "64472bfb34f09b5c2e6701a1f795b1478df40f34be2e64d992515eb5691196c5",
    "fasta_sha256": "c76b1b7fc16585520173f033e9a538291791cc7010aa310b5de634446e4bb7e9",
    "input_sha256": "9302dcbb3b470a65fac4ae1aef30ec2a5623bb4b820654227e0cad00c1983eae",
    "scanned": 329,
    "rows": 256,
    "overlap_with_previous": 0,
    "protocol_sha256": "1321b2cd3f8b74c17af845bf58aa77cc5374ff11fc2a26c213fb08fbfe06e50e"
  },
  "tools": {
    "harmonizer": {
      "counts": {
        "output_rows": 256,
        "canonical_orientation_rows": 256,
        "allele_equivalent_rows": 256,
        "equivalent_all_fields_within_tolerance": 256,
        "canonical_all_fields_exact": 179,
        "beta_within_tolerance": 256,
        "standard_error_within_tolerance": 256,
        "effect_allele_frequency_within_tolerance": 256,
        "p_value_within_tolerance": 256,
        "missing_rows": 0
      }
    },
    "gwaslab": {
      "counts": {
        "output_rows": 256,
        "canonical_orientation_rows": 256,
        "allele_equivalent_rows": 256,
        "equivalent_all_fields_within_tolerance": 229,
        "canonical_all_fields_exact": 0,
        "eaf_agrees_with_float32_operation": 256,
        "beta_within_tolerance": 256,
        "standard_error_within_tolerance": 256,
        "effect_allele_frequency_within_tolerance": 229,
        "p_value_within_tolerance": 256,
        "missing_rows": 0
      },
      "max_absolute_eaf_error": 4.206286075003618e-08
    },
    "tidygwas": {
      "counts": {
        "output_rows": 256,
        "canonical_orientation_rows": 64,
        "allele_equivalent_rows": 256,
        "equivalent_all_fields_within_tolerance": 256,
        "canonical_all_fields_exact": 64,
        "beta_within_tolerance": 256,
        "standard_error_within_tolerance": 256,
        "effect_allele_frequency_within_tolerance": 256,
        "p_value_within_tolerance": 256,
        "missing_rows": 0
      }
    }
  },
  "native_artifacts": {
    "harmonizer": {
      "changed_row_audit_rows": 256,
      "verified_source_to_final_rows": 256,
      "expected_changed_rows": 192,
      "named_actions": {
        "unchanged": 64,
        "effect_other_swap": 64,
        "strand_flip": 64,
        "strand_flip_and_swap": 64
      }
    },
    "tidygwas": {
      "raw_snapshot_rows": 256,
      "output_rowid_present": true,
      "raw_snapshot_columns": [
        "chromosome",
        "position",
        "effect_allele",
        "other_allele",
        "beta",
        "standard_error",
        "effect_allele_frequency",
        "p_value",
        "rsid",
        "rowid"
      ],
      "note": "Native raw Parquet and rowid support original-to-output reconstruction; no adapter-generated audit"
    },
    "gwaslab": {
      "output_status_present": true,
      "original_value_columns": [],
      "note": "Saved output and native log; input retained separately. No claim about other package configurations."
    }
  },
  "challenges": {
    "scope": "synthetic production download and component tests; no empirical or hosted accuracy claim",
    "frozen_commit": "15e8878",
    "python": "3.12.0",
    "groups": {
      "download_snp": {
        "cases": 4,
        "passed": 4
      },
      "download_audit": {
        "cases": 7,
        "passed": 7
      },
      "download_palindrome": {
        "cases": 6,
        "passed": 6
      },
      "download_indel": {
        "cases": 3,
        "passed": 3
      },
      "download_ratio": {
        "cases": 2,
        "passed": 1
      },
      "build_component": {
        "cases": 4,
        "passed": 4
      }
    },
    "observations": [
      {
        "group": "download_snp",
        "case": "unchanged",
        "expected": [
          1,
          "C",
          "T",
          0.25,
          0.1
        ],
        "observed": [
          1,
          "C",
          "T",
          0.25,
          0.1
        ],
        "passed": true
      },
      {
        "group": "download_snp",
        "case": "swap",
        "expected": [
          1,
          "C",
          "T",
          0.25,
          0.1
        ],
        "observed": [
          1,
          "C",
          "T",
          0.25,
          0.1
        ],
        "passed": true
      },
      {
        "group": "download_audit",
        "case": "swap_source_link",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_snp",
        "case": "complement",
        "expected": [
          1,
          "C",
          "T",
          0.25,
          0.1
        ],
        "observed": [
          1,
          "C",
          "T",
          0.25,
          0.1
        ],
        "passed": true
      },
      {
        "group": "download_audit",
        "case": "complement_source_link",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_snp",
        "case": "complement_swap",
        "expected": [
          1,
          "C",
          "T",
          0.25,
          0.1
        ],
        "observed": [
          1,
          "C",
          "T",
          0.25,
          0.1
        ],
        "passed": true
      },
      {
        "group": "download_audit",
        "case": "complement_swap_source_link",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_palindrome",
        "case": "compatible",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_palindrome",
        "case": "inverse",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_palindrome",
        "case": "missing_panel",
        "expected": false,
        "observed": false,
        "passed": true
      },
      {
        "group": "download_audit",
        "case": "missing_panel_quarantine",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_palindrome",
        "case": "midpoint",
        "expected": false,
        "observed": false,
        "passed": true
      },
      {
        "group": "download_audit",
        "case": "midpoint_quarantine",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_palindrome",
        "case": "mismatched_population",
        "expected": false,
        "observed": false,
        "passed": true
      },
      {
        "group": "download_audit",
        "case": "mismatched_population_quarantine",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_palindrome",
        "case": "missing_population",
        "expected": false,
        "observed": false,
        "passed": true
      },
      {
        "group": "download_audit",
        "case": "missing_population_quarantine",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_indel",
        "case": "undeclared",
        "expected": false,
        "observed": false,
        "passed": true
      },
      {
        "group": "download_indel",
        "case": "declared",
        "expected": true,
        "observed": true,
        "passed": true
      },
      {
        "group": "download_indel",
        "case": "declared_leftmost",
        "expected": [
          1,
          "CA",
          "C"
        ],
        "observed": [
          1,
          "CA",
          "C"
        ],
        "passed": true
      },
      {
        "group": "download_ratio",
        "case": "forward",
        "expected": [
          1,
          2.0,
          1.5,
          3.0
        ],
        "observed": [
          1,
          2.0,
          1.5,
          3.0
        ],
        "passed": true
      },
      {
        "group": "download_ratio",
        "case": "swap",
        "expected": [
          1,
          2.0,
          1.5,
          3.0
        ],
        "observed": [
          0
        ],
        "passed": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.01:0.1",
        "epsilon": 0.01,
        "eaf": 0.1,
        "retained": true
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.01:0.3",
        "epsilon": 0.01,
        "eaf": 0.3,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.01:0.41",
        "epsilon": 0.01,
        "eaf": 0.41,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.01:0.42",
        "epsilon": 0.01,
        "eaf": 0.42,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.01:0.5",
        "epsilon": 0.01,
        "eaf": 0.5,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.01:0.58",
        "epsilon": 0.01,
        "eaf": 0.58,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.01:0.59",
        "epsilon": 0.01,
        "eaf": 0.59,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.01:0.9",
        "epsilon": 0.01,
        "eaf": 0.9,
        "retained": true
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.05:0.1",
        "epsilon": 0.05,
        "eaf": 0.1,
        "retained": true
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.05:0.3",
        "epsilon": 0.05,
        "eaf": 0.3,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.05:0.41",
        "epsilon": 0.05,
        "eaf": 0.41,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.05:0.42",
        "epsilon": 0.05,
        "eaf": 0.42,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.05:0.5",
        "epsilon": 0.05,
        "eaf": 0.5,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.05:0.58",
        "epsilon": 0.05,
        "eaf": 0.58,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.05:0.59",
        "epsilon": 0.05,
        "eaf": 0.59,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.05:0.9",
        "epsilon": 0.05,
        "eaf": 0.9,
        "retained": true
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.1:0.1",
        "epsilon": 0.1,
        "eaf": 0.1,
        "retained": true
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.1:0.3",
        "epsilon": 0.1,
        "eaf": 0.3,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.1:0.41",
        "epsilon": 0.1,
        "eaf": 0.41,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.1:0.42",
        "epsilon": 0.1,
        "eaf": 0.42,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.1:0.5",
        "epsilon": 0.1,
        "eaf": 0.5,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.1:0.58",
        "epsilon": 0.1,
        "eaf": 0.58,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.1:0.59",
        "epsilon": 0.1,
        "eaf": 0.59,
        "retained": false
      },
      {
        "group": "threshold_sensitivity",
        "case": "0.1:0.9",
        "epsilon": 0.1,
        "eaf": 0.9,
        "retained": true
      },
      {
        "group": "build_component",
        "case": "direct37",
        "expected": "GRCh37",
        "observed": "GRCh37",
        "passed": true
      },
      {
        "group": "build_component",
        "case": "direct38",
        "expected": "GRCh38",
        "observed": "GRCh38",
        "passed": true
      },
      {
        "group": "build_component",
        "case": "mixed",
        "expected": "Uncertain",
        "observed": "Uncertain",
        "passed": true
      },
      {
        "group": "build_component",
        "case": "unknown",
        "expected": "Uncertain",
        "observed": "Uncertain",
        "passed": true
      }
    ]
  },
  "browser_package_checks": [
    {
      "name": "guest_panukbb_height_500_canonical_package.zip",
      "crc_and_gzip_valid": true
    },
    {
      "name": "safari_guest_panukbb_500_canonical_package.zip",
      "crc_and_gzip_valid": true
    }
  ],
  "additional_retained_field_checks": {
    "palindrome_compatible": true,
    "palindrome_inverse": true,
    "indel_declared": true,
    "scope": "post-run confirmation of the independently specified synthetic orientation/effect/frequency oracle"
  },
  "finngen_extension": {
    "frozen_commit": "15e8878",
    "scope": "disjoint same-study SNPs and synthetic checks; not general accuracy or usability",
    "numeric_tolerance": "relative 1e-6; zero exact; allele-aware reorientation used only by scorer",
    "selection": {
      "cohort": "finngen",
      "source": "/Users/mlemsalu/Desktop/gwas-harmonizer/results/benchmarks/summary_stats_finngen_R13_T2D.gz",
      "source_sha256": "76424434f5c966ad4da6d471eff0f6fcd01731004568aa6f3922d5ae52fad305",
      "source_md5": "f21ddd163f3dee38f18d130eb13ad5fd",
      "previous_truth_sha256": "abf3a414ed2abbd1b6eaf1ec6fd6efbfe492ca5049fb7fe81dff4ca3a15ea9b5",
      "fasta_sha256": "c76b1b7fc16585520173f033e9a538291791cc7010aa310b5de634446e4bb7e9",
      "input_sha256": "943d086bb0946644c3922d7e8cad744eaf903265dd359f2c858546e9673a360c",
      "additional_previous_sha256": "64472bfb34f09b5c2e6701a1f795b1478df40f34be2e64d992515eb5691196c5",
      "scanned": 101312,
      "rows": 1024,
      "duplicate_coordinates_skipped": 8,
      "overlap_with_previous": 0,
      "protocol_sha256": "ac1254f5968458d296d9340e1a9d3c14cbe3bae47f83ca18af5d895b7ea71b98"
    },
    "tools": {
      "harmonizer": {
        "counts": {
          "output_rows": 1024,
          "canonical_orientation_rows": 1024,
          "allele_equivalent_rows": 1024,
          "equivalent_all_fields_within_tolerance": 1024,
          "canonical_all_fields_exact": 1024,
          "beta_within_tolerance": 1024,
          "standard_error_within_tolerance": 1024,
          "effect_allele_frequency_within_tolerance": 1024,
          "p_value_within_tolerance": 1024,
          "missing_rows": 0
        }
      },
      "gwaslab": {
        "counts": {
          "output_rows": 1024,
          "canonical_orientation_rows": 1024,
          "allele_equivalent_rows": 1024,
          "equivalent_all_fields_within_tolerance": 731,
          "canonical_all_fields_exact": 0,
          "eaf_agrees_with_float32_operation": 1024,
          "beta_within_tolerance": 1024,
          "standard_error_within_tolerance": 1024,
          "effect_allele_frequency_within_tolerance": 731,
          "p_value_within_tolerance": 1024,
          "missing_rows": 0
        },
        "max_absolute_eaf_error": 4.2549133327796085e-08
      },
      "tidygwas": {
        "counts": {
          "output_rows": 1024,
          "canonical_orientation_rows": 256,
          "allele_equivalent_rows": 1024,
          "equivalent_all_fields_within_tolerance": 1024,
          "canonical_all_fields_exact": 256,
          "beta_within_tolerance": 1024,
          "standard_error_within_tolerance": 1024,
          "effect_allele_frequency_within_tolerance": 1024,
          "p_value_within_tolerance": 1024,
          "missing_rows": 0
        }
      }
    },
    "native_artifacts": {
      "harmonizer": {
        "changed_row_audit_rows": 1024,
        "verified_source_to_final_rows": 1024,
        "expected_changed_rows": 768,
        "named_actions": {
          "unchanged": 256,
          "effect_other_swap": 256,
          "strand_flip": 256,
          "strand_flip_and_swap": 256
        }
      },
      "tidygwas": {
        "raw_snapshot_rows": 1024,
        "output_rowid_present": true,
        "raw_snapshot_columns": [
          "chromosome",
          "position",
          "effect_allele",
          "other_allele",
          "beta",
          "standard_error",
          "effect_allele_frequency",
          "p_value",
          "rsid",
          "rowid"
        ],
        "note": "Native raw Parquet and rowid support original-to-output reconstruction; no adapter-generated audit"
      },
      "gwaslab": {
        "output_status_present": true,
        "original_value_columns": [],
        "note": "Saved output and native log; input retained separately. No claim about other package configurations."
      }
    },
    "challenges": null,
    "browser_package_checks": []
  }
}
