Reference

RunRecord JSON

The complete, reproducible record.

runrecord.json is the full record of a run: run_id, scorecard, per-example scores, provenance, and the comparable result. It round-trips through to_dict / from_dict and is the snapshot target for tests. The compact Scorecard is its embedded summary.

Canonical snapshot

json

{
  "run_id": "quickstart",
  "scorecard": { "verdict": { "verdict": "informational", "ci_should_fail": false }, "...": "..." },
  "scores": [
    { "metric": "exact_match", "status": "scored", "validity": "valid",
      "value": 1.0, "evaluator_version": "exact_match@1",
      "example_id": "datasets/grounded.jsonl#1", "unit_id": "datasets/grounded.jsonl#1" }
  ],
  "provenance": {
    "framework": "…", "metric_spec": "…", "evaluator": "…", "dataset": "…",
    "example": "…", "evidence": "…", "config": "…", "policy": "…",
    "authority": "…", "baseline": "…"
  },
  "comparable": null
}

Fields

PathTypeMeaning
run_idstringThe run identifier.
scorecardobjectThe full Scorecard.
scores[]arrayEvery Score: metric, status, validity, value (or null), evaluator_version, diagnostics, and optional subject identity.
scores[].example_id · scores[].unit_idstring | nullOptional subject identity — which Example / EvalUnit the Score measured. Additive provenance; emit-when-present.
provenanceobjectThe RunFingerprint — a hash per dimension (framework, metric_spec, evaluator, dataset, example, evidence, config, policy, authority, baseline).
comparableobject | nullThe comparability result against a baseline, when requested.
Round-trips or refuses A present-but-malformed comparable or scores entry raises on parse rather than being dropped — the record reconstructs faithfully or not at all.
Subject identity is additive and optional example_id / unit_id are emit-when-present: a Score without them serializes byte-for-byte as before, and older runrecord.json artifacts still parse. They are what /evalglass view --by-call groups by — explicit identity, never list order.

Next steps