SUPPLEMENTARY MATERIAL

Computation code for "How small a difference can conductometry establish? An uncertainty
budget, resolution curves and the arithmetic cost of four design faults".

Contents
  b01_uncertainty_engine.py   single self-contained program, Python standard library only

How to run
  python3 b01_uncertainty_engine.py

Requirements
  Python 3.7 or later. No external packages. No network access. No input files.

What it prints
  Table 1  uncertainty budget and combined standard uncertainty
  Table 2  temperature equivalence of a claimed relative difference
  Table 3  smallest detectable difference by CV and n
  Table 4  preparations required for a target difference
  Check    analytic power against a Monte-Carlo simulation of the same design
  Table 5  false-positive rate when technical replicates are entered as independent
  Table 6  false-positive rate under optional stopping
  Table 7  false-positive rate under unrandomised order with instrument drift
  Table 8  false-positive rate without thermostatting
  Table 9  all four faults combined in one study

Determinism
  The random seed is fixed at the top of the file (SEED = 20260827) and the Student-t
  distribution is implemented inside the program, so no library version can change the
  published values. A rerun reproduces every figure quoted in the manuscript.

Substituting your own budget
  Edit the BUDGET list near the top of the file: each entry is
  (label, half-width or standard deviation in per cent, "A" or "R", basis note).
  Rectangular ("R") contributions are divided by the square root of three, as in the GUM.
  Every table downstream recomputes from the edited budget.
