DocsScienceVerification

Trying to be wrong.

Anything can produce a confident answer. What makes an answer worth having is everything that was done to break it first. This page is the list of things Essarion Science does to its own conclusions before it shows them to you.

§ 01Your claim is the hypothesis, not the answer

The question you ask is parsed into a structured hypothesis and carried through the run as H1 — the alternative under test. It is never treated as a conclusion to support. Every downstream stage is written against that contract, which is why a leading prompt does not produce a compliant report.

§ 02Preregistration

Before any data is touched, the run writes its analysis plan and hashes it. From that moment the plan is fixed: analyses that follow it are confirmatory, and anything the run decides to look at afterwards is reported as exploratory. Both are allowed. Only one gets to carry a confirmatory claim.

This is the line between honest research and p-hacking, and the reason it works is that the plan is committed before the data can influence it.

§ 03The posterior

Belief in H1 is tracked as a Bayesian posterior, updated from the live evidence stream as the run proceeds. Each update is streamed as a biomed.verdict.shift event, so the moments the run changed its mind are visible rather than reconstructed.

The posterior is also a check on the prose. Before an artifact is released, the narrative's confidence language is compared against the posterior's extremity; if the words claim more than the number supports, the artifact is demoted to a brief rather than published as a paper.

§ 04Adversarial collaboration

Kahneman's 2003 proposal was that when experts disagree, they should agree on a shared protocol, run both positions through it, and document where they converge and where they do not. Essarion Science operationalises this as a sensitivity analysis over the prior.

Three posteriors start from different places — an Advocate at P(H1) = 0.8, a Neutral at 0.5, a Skeptic at 0.2 — and the same Bayes-factor updates from the live evidence are applied to all three. What matters is where they end up:

SpreadVerdictReading
|Δ| < 0.15robust_to_priorEvery reasonable starting position lands in the same place. The evidence did the work.
0.15 ≤ |Δ| < 0.30evidence_constrainedThe data narrowed the disagreement without settling it.
|Δ| ≥ 0.30prior_dominatedThe verdict is being driven by what you walked in believing, not by the data.

Disagreement that survives shared methods is irreducible; disagreement that vanishes under them was the priors doing the work. Either way it is reported as a structural feature of the result, not hidden.

§ 05Multiverse analysis

Any pooled estimate embeds analytical choices — which studies to include, how to handle outliers, which weighting scheme, which heterogeneity estimator. A specification curve re-runs the pool under every reasonable combination of those choices and reports the distribution of results across the whole grid.

A finding is robust only if it survives the multiverse, not merely the one specification an analyst happened to pick. This runs on deep_dive and exhaustive; it is off in scan, where there is rarely enough pooled literature for the curve to mean anything.

§ 06Mutation testing the analysis

Multiverse analysis audits the meta-analytic pool. Three further passes audit the branches it does not reach, each by re-running the analysis under deliberate variations of a silent choice:

PassWhat it varies
primary statsThe primary-data battery re-runs under eight reasonable variants per series pair — estimator choice, log transform, outlier trimming, multiple-comparison correction.
sensitivityThe E-value branch, which bounds how strong unmeasured confounding would have to be to explain the effect away. Effect-measure conversions change the magnitude, so the conversion itself is varied.
causalThe adjustment set, dropping one confounder at a time. A conclusion that survives leaving a variable out was not leaning on it; one that does not, depends on that confounder being measured correctly.

§ 07Triangulation and replication

The same pattern appearing across independent sources is a different kind of evidence than the same number repeated from one dataset. Triangulation scores convergence and divergence between the pooled literature effect and correlations computed from independent primary data.

On exhaustive runs, a replication check builds a graph of which findings replicate which — direct replications, conceptual ones, and failures to replicate — so the citation pile becomes a structure rather than a list.

§ 08How effect sizes are extracted

Effect sizes are extracted from papers by the model, then pooled numerically with fixed- and random-effects models, with heterogeneity (Q, I²) and an Egger-style funnel-asymmetry check for publication bias.

Extraction is role-tagged: every numeric value is classified as an effect, dose, sample size, baseline, demographic, outcome level, or other, and only values tagged as effects are pooled. A scraped dose of "474.1 mg/day" cannot become an effect size.

§ 09The evidence gates

A run may only emit a paper if the evidence clears three thresholds, all of which rise with depth:

Gatescandeep_diveexhaustive
Pooled effect sizes235
Independent source packets123
Distinct first-author affiliations123

The third gate is the interesting one: five effect sizes from one lab is one lab's opinion measured five times. Runs that fall short report a brief and say why.

CautionA brief where you expected a paper is a result, not an error. It means the literature does not currently support a confirmatory claim about your hypothesis at that depth. Raising depth widens the pool — it does not lower the bar.

§ 10Choosing what to look at next

Search queries are not chosen by relevance to the hypothesis, which is greedy and biased toward confirmation. They are chosen by expected information gain — which candidate query is expected to reduce uncertainty about H1 the most once whatever it returns has been seen. Evidence that could refute is worth as much as evidence that could confirm, and often more.

§ 11The falsification ledger

Every completed run files one row per hypothesis it tested, keyed by a fingerprint of the normalised H1. Later runs query the ledger by that fingerprint and surface prior verdicts, so a hypothesis tested once keeps a paper trail across runs.

GET/api/v1/ledger/parents
GET/api/v1/ledger/{run_id}/genealogy

§ 12Living manuscripts

A shipped paper can be registered as a hypothesis watch. On a schedule — weekly by default — the watch pulls papers published since its last check, extracts effect sizes from them, and updates a running posterior seeded at the original verdict. Preprints come first, because they appear before peer review, which is where a verdict is most likely to move.

EndpointPurpose
POST /api/v1/watchesRegister a watch on a shipped hypothesis.
GET /api/v1/watchesList watches.
POST /api/v1/watches/{watch_id}/recheckForce a recheck now.
GET /api/v1/watches/{watch_id}/diffWhat changed since the last check — and whether it moved the verdict.
DELETE /api/v1/watches/{watch_id}Stop watching.
TipA watch is the honest end-state of a finding: the claim stays live, and the posterior keeps moving as the field publishes. A conclusion that was true in March is not automatically true in November.