Examines consensus diagnostics in Delphi panels, indicating enhanced reproducibility methods.
# Proof of execution — provenance This document records a full-mode execution of the reproducibility package and the cryptographic evidence needed to verify it. The single value to publish is the**root hash** below; it transitively covers every code, data, and result file via `CHECKSUMS.sha256`. ## Root hash (publish this) SHA-256(CHECKSUMS.sha256) = 58505cd2a249d30467f2bc6e8c4e3a22ca2cf502d76d85303ffd7ea01c703d9c `CHECKSUMS.sha256` lists the SHA-256 of all 44 code/data/result files (sorted, `sha256sum -c`–verifiable). Any change to any input or output changes a line in`CHECKSUMS.sha256` and therefore changes this root hash. ## Environment | | ||---|---|| Python | 3.12.3 || numpy | 2.4.4 || scipy | 1.17.1 || scikit-learn | 1.8.0 || diptest | 0.11.0 || platform | Linux-6.18.5-x86_64-with-glibc2.39 || base seed | 20260713 | ## Result-file hashes (full mode) application_results.json 6308f784e8675141021312b287aa4725e8269a60d361846d1a6253e9b6ba83b4 selection_results.json d8c20fa5556234856a20bab60190058ba88d69cc10317fde8a5b500f09997d64 robustness_results.json 4385705761810255dd9d0f5b1ea4660bdc6ca833df9d1f21c535b3031e0d5c8e **Extension studies (manuscript Steps 12–16).** Added, seeded, reproduced by their`run_*.py` drivers (or `run_all.py`); reading the de-identified `data/items_Round{1,2}.csv`: methodfactor_results.json c711d459244c0e573b9290cea5fe9bb4ba5e0273e56ecc4812ba556c14b11ce5 methodfactor2_results.json 21349945f5659438627cb570ff6b8c5c49728547cc5aeb6dd66e7fe22e3e1475 dispersion_results.json 208c5ace975774d48b07525a67b10fffc1a727b647bb98f0a0e7a374549c42ad bootstrap_results.json c66b5db0767bde4a64b6e0d6f7ac0ace1465db07396beb8cb7ac8cdf1426c602 smallJ_results.json dbb0500d778bf0d861ebda05dac39cb76ec522e906a004770fea2227ea62ebe5 baselines_results.json db1565a8719a93114a0b6cb0807904f5a9ad7da8e64abe8523a46db714ba98f7 These cover: the method/style-factor model comparison (`run_methodfactor*.py`), thewithin-group homogeneity calibration and application (`run_dispersion.py`), thestyle-calibrated bootstrap LRT (`run_bootstrap.py`), the small-J behaviour study(`run_smallJ.py`), and the simple-baseline comparison (`run_baselines.py`). Newdependencies: `scikit-learn`, `diptest` (see `requirements.txt`). ## Determinism demonstration The pipeline seeds every unit of work deterministically (`src/repro.py`, `SeedSequence` + process-stable `crc32` tags), so a run is byte-reproducible on afixed environment. Demonstrated directly: two independent executions of `run_application.py` produced an **identical** output hash run 1 a25220452922850c86292cd1caac345230a6967fd3acfe8b7bbbd7542cba5d6c run 2 a25220452922850c86292cd1caac345230a6967fd3acfe8b7bbbd7542cba5d6c (identical) (The demonstration used `--quick`; determinism is a property of the seeding mechanism and does not depend on the sweep/replicate counts.) ## Execution log (UTC) | stage | wall time | note ||---|---|---|| application (full) | 04:49:42 → 04:51:36 | WBIC 3000 sweeps × 6 seeds, bootstrap B=200 || selection (full) | components A+C 04:57–05:01, D 05:07–05:09, B 05:10–05:13 | run per component (each self-seeded); see note || robustness (full) | cells 0–2 05:14–05:17, cells 3–6 05:21–05:25 | R=30 per cell, WBIC 1200 sweeps | **Note on selection component B.** Its WBIC null spot-check was run at `wbic_reps=15` (rather than 30) to fit the sandbox's per-call time limit. This affects only the `FPR_WBIC` estimate (which is 0.00 regardless); the `FPR_BIC/sBIC/CCT` columns are drawn from the full 100-replicate EM panel and are unchanged. On a machine without a per-call limit, `python run_selection_sim.py`runs component B at the full `wbic_reps=30` in a single command. ## How to verify ```bashpip install -r requirements.txt # 1. integrity of the shipped filessha256sum -c CHECKSUMS.sha256 # expect: all OKsha256sum CHECKSUMS.sha256 # expect the root hash above # 2. re-execution (same environment -> identical result hashes)python run_all.py # full modesha256sum results/application_results.json results/selection_results.json \ results/robustness_results.json``` ## Scope of the proof Byte-identical result hashes are guaranteed only on a matching numerical stack (numpy/BLAS build and platform as above); a different BLAS or numpy version maychange low-order floating-point bits and therefore the hashes, without changing the scientific conclusions. The publishable proof is accordingly the triple **(fixedseed + environment manifest + result checksums)**, backed by the determinism demonstration above. To reproduce the exact hashes, reproduce the environment(e.g., pin numpy 2.4.4 / scipy 1.17.1 in a container). ## Licensing and citation `LICENSE` (BSD-3-Clause) and `CITATION.cff` are included as repository metadata. They are intentionally outside the reproducibility hash, which covers code, data, and results files only; adding or editing them does not change the root hash above.
No takes yet. Share an insight, caveat, or question.
Saguin et al. (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: