Runtime & Integrations · Evaluation Core
Provenance & Baselines
When may EvalGlass claim a regression?
fingerprint_dimension() hashes each provenance dimension (SHA-256 of canonical
JSON). RunFingerprint records ten of them; a ComparableRunFingerprint
compares two runs and resolves a BaselineState. A regression claim is only made when
the gating dimensions match.
A regression without comparability is not a claim. So the core computes comparability as a typed state before any delta — the code behind Provenance and Baseline Comparability.
Dimensions
Ten dimensions are recorded (REQUIRED_DIMENSIONS): framework, metric_spec,
evaluator, dataset, example, evidence, config, policy, authority, baseline. Six of them gate a
comparison (DEFAULT_GATING_DIMENSIONS): framework, metric_spec, evaluator, dataset,
config, policy — example is deliberately not gating, so different examples still
compare.
Fail-closed comparison
fingerprint_dimensionraises on a non-JSON value (e.g. aset) rather than guessing a hash.changed_dimensionstreats an absent dimension as changed, not as a match.- So a fingerprint can only under-claim comparability, never over-claim it.
The full fingerprint lands in RunRecord.provenance and the resolved comparability in
RunRecord.comparable — both recomputable by a reviewer or a later run.
baseline update), never by an
ordinary run. Comparing against it is opt-in; with no request the state is
comparison_not_requested.