Files
scientific-agent-skills/tests/uncertainty-and-units
Timothy Kassis cca1e05ddf Add uncertainty-and-units skill under skills/uncertainty-and-units
Metrology skill covering units and measurement uncertainty, with six
standard-library-first CLIs that run offline:

- propagate_uncertainty.py: GUM framework and Monte Carlo on the same
  model, with the JCGM 101 clause 8 linearization check
- uncertainty_budget.py: components stated the way certificates state
  them, Welch-Satterthwaite effective dof, coverage factor from t
- format_result.py: round the uncertainty first, then the value to the
  same decimal place; plus-minus, concise, and ASCII forms
- convert_units.py: pint conversion including context-only relations,
  with the uncertainty carried through the local derivative
- audit_units.py: static scan for silent unit and uncertainty defects
  (UNIT001-004, UNC001-004, CONST001) with suppression directives
- check_plausibility.py: 14 dimensionless groups, 8 characteristic
  scales, and 22 cited magnitude bands, each dimensionality-checked
  before any number is reported

Measurement models are parsed to an AST and reduced by an explicit walk;
nothing is compiled or executed. Physical constants come from
scipy.constants at run time rather than from literals.

Tests in tests/uncertainty-and-units/ (85 cases) verify the metrology
against published values and assert every bundled script passes the
skill's own auditor with no findings.
2026-07-26 15:08:29 -07:00
..