CausalSentinel

Changelog

All notable changes to CausalSentinel, newest first. Where a claim is measurable, the same-input before/after evidence is quoted — the objective yardstick for every upgrade is identical input, compared output. Any older version’s full output can be reconstructed from git (see “Comparing versions” at the bottom).

v0.5.1 — 2026-08-27 · Scoring honesty (branch v0.5.1-scoring)

Changed

All ten benchmark cards regenerated (7/10 passed this run; among the catches, the model wrote “FDA-approved” for VKORC1 from memory — the phrase appears nowhere in tool output). Viewer bundle rebuilt.

v0.5 — 2026-08-27 · The web app: type your own pair (branch v0.5-webapp)

Added

Same-input evidence (PCSK9 × high cholesterol, no key): 10 tool calls, ~20 s, card identical in structure to the CLI card except the two model-written lines.

v0.3 — 2026-08-14 · The proteome resource (branch round3-real-mr-and-validation)

Added

Notes

v0.2 — 2026-08-07 · Real MR retrieval + mechanical rendering + validator

Changed — the MR slot is no longer a stub. get_mr_result now retrieves published two-sample MR estimates (EpiGraphDB pQTL resource; Zheng et al., Nat Genet 2020). It still computes nothing, and says so in every result (computed_here: false).

Same-input evidence (PCSK9 × high cholesterol):

  v0.1 stub v0.2 retrieval
beta / se / p null / null / null +0.277 / 0.029 / 3.7e-21
instrument rs191448950, cis, Wald ratio, n_snp=1
causal-credibility fields Steiger TRUE (p=4.4e-16) · ld_check 1.0 · coloc explicitly “not available”
context / provenance 64 outcomes for this protein · pQTL dataset v3.0 · URL

And the honest-absence case (PNPLA3 × MASLD): v0.1 said “placeholder, not built” (a statement about the tool); v0.2 says “no plasma pQTL instrument for this protein; absence of an estimate is not evidence of no effect” (a statement about the world, actionable: liver eQTL instruments would be needed).

Added

Fixed (each found by running, not by reading)

Audit. An adversarial audit (41 agents; every allegation re-checked by an independent skeptic) confirmed 18 defects the token-level validator missed (recall 0/18), the worst being a sign inversion: the IL6R × CHD card quoted beta = −0.0442 correctly and recommended the opposite intervention. The direction sentence is now mechanical and a direction lock rejects contradicting runs.

v0.1 — 2026-07-13 · Round 1+2 (merged to main, PR #7)


Comparing versions (the objective yardstick)

Milestone exhibits are kept visible in cards/archive/ (folder name = version + date, file names unchanged, contents byte-identical to git history) — currently the v0.1 PNPLA3 card, the “before” in every comparison above. For everything else, git keeps every prior version and no manual copy is needed:

git show main:tools/mr.py            # the v0.1 stub, verbatim
git show main:cards/PNPLA3_MASLD_causal_card.md   # the v0.1 card
git log --oneline --all              # the full version story

To reproduce a comparison: check out any two versions of a tool, run both on the same input, and diff the outputs. Upgrades in this project are judged by that diff, not by intent.