{
  "schema_version": 2,
  "title": "Concussion survey: PDF-key reanalysis version 2",
  "verified_on": "2026-09-10",
  "input": {
    "sha256": "e94a8c5fcd8faf188de642e5d1199b71d63fdd0da2a25aa7de8ee3e3ab6c1239",
    "rows": 348,
    "availability": "Restricted cleaned input; participant records are not published. The fingerprint identifies the file used, not raw-to-clean accuracy.",
    "historical_sha256": "501042c4be0c3c7f40eab1cc1907d0e23607b609212af8fbcd846209c88c7e37"
  },
  "model": {
    "method": "Complete-case logistic regression with intercept; odds ratios and 95% Wald confidence intervals",
    "outcome": "Q21: self-reported lifetime care-seeking for a suspected concussion",
    "predictors": [
      "Knowledge_Score_Total",
      "Q43",
      "Q44",
      "Q15"
    ],
    "complete_cases": 276,
    "excluded_rows": 72,
    "exclusion_rule": "Missing at least one model value",
    "coefficient_p_values": "Not multiplicity-adjusted",
    "specification_status": "Exploratory reanalysis; no preregistration claim"
  },
  "exploration": {
    "comparisons": 447,
    "correction": "Benjamini-Hochberg FDR at 0.05 within each family",
    "families": {
      "outcome_predictors": 446,
      "instrument_pairs": 1
    },
    "fdr_survivors": 4,
    "resampling_screen_candidates": 4,
    "published_candidate": "Q46 hypothetical care timing by Q48 hypothetical online information-seeking",
    "candidate_n": 273,
    "permutations": 1000,
    "bootstraps": 1000,
    "seed": 42,
    "retention_rule": "999 of 1000 bootstrap samples retained at least half the observed association magnitude",
    "refit_stability": "Not assessed: no re-fit available. The saved robustness.stable=false flag is distinct from bootstrap retention.",
    "published_scope": "One aggregate candidate and search counts, not a complete comparison ledger"
  },
  "reproduction": {
    "command": "bun scripts/verify-landing-study.ts",
    "engine_revision": "8fe322611419d641c5fd8eee600c6cc71b140ce8",
    "engine_worktree_changes": false,
    "runtime": {
      "bun": "1.3.10",
      "python": "3.14.3"
    },
    "scope": "Local rerun matched historical and PDF-key derivative fingerprints, regression, full exploration and resampling values. The exploration excerpt is numerically unchanged. Requires private repository and authorized input access. Public Python provides a separate logistic calculation and PDF-key correction, not the full engine."
  },
  "limitations": [
    "Associations do not establish causation or temporal direction.",
    "Hypothetical care timing is not observed care delay.",
    "Resampling is not independent replication or a probability that a finding is true.",
    "PDF-key alignment resolves the two documented scoring discrepancies for this version. It relies on recovered historical coding semantics and saved item values; it is not a validation of every raw-to-clean operation or the instrument itself.",
    "No validation of every raw-to-clean decision or reproduction of the original biostatistician model.",
    "No claim of independent scientific validation, customer delivery, publication outcome or time savings."
  ],
  "scoring": {
    "version": "pdf-key-v2",
    "authority": "Supplied Concussion Knowledge Key.pdf, pages 1\u20132; preferred to historical implementation as explicit intended key. User delegated source selection on 2026-09-10. This is not study-owner endorsement or clinical validation.",
    "key_sha256": "3d90cfbef8fd7968ffb74608d46c7ef9c7fff02ac88f700082a637ae472c4437",
    "correction": "Flip Q31/Q37 historical correctness bits (1-x), preserving blanks. Sum Q23\u2013Q41 only when all 19 binary items are present; no prorating. Assert historical total equals complete-item sum before correction.",
    "derivation": "python3 scripts/prepare-landing-study.py <authorized-historical-input> <private-new-output>",
    "historical_archive": "concussion-historical-v1.json"
  },
  "source_item_audit": {
    "performed_on": "2026-09-10",
    "reviewer": "Separate AI agent; read-only source audit, not a human statistician",
    "raw_input_sha256": "42d410f092bd212bcb50faf0d7c33dd69545b09ac68180f164f49aa4abe602fc",
    "scope": "One metadata row followed by 348 respondents. All 19 raw knowledge fields contain only True, False or blank. Independently applying recovered historical mapping dictionaries reproduces all 19 saved item fields across every row in order. This validates the two-item binary correction for this frame, not every cleaning operation.",
    "pdf_key_check": "Visually checked pages 1\u20132. Exactly Q31 and Q37 differ from historical code. Printed frequency totals in the PDF describe a different frame and are not validation of this 348-row sample."
  }
}
