Log in
docs/adr/0007-runner-identity-and-portability.md 34 lines · 1.4 KB

ADR-0007: Latency comparisons require runner identity and portability class

  • Status: accepted
  • Date: 2026-06-12

Context

Rows already preserve raw measurements, but latency depends on CPU, disk, kernel, filesystem, power state, and cache discipline. Publishing cross-machine latency medians as if they were one population hides runner effects. At the same time, many benchmark metrics are machine-independent: output bytes, token counts, tool calls, information recall, pipe compatibility, and integrity checks should reproduce exactly given the same fixture and subject behavior.

Decision

Every campaign records a runner profile and a stable runner_id; rows may stamp runner_id, runner_class, and runner_profile additively. Latency summaries and Git Baseline Books declare their runner_class.

Metric portability is explicit:

  • Machine-independent metrics compare by equality or exact deterministic summary within the fixture/semantics/calibration version.
  • Machine-dependent metrics compare inside one runner class. Across runner classes, the portable latency claim is the same-run subject ratio with a confidence interval.

Consequences

  • Dashboards must not pool latency rows across runner classes.
  • Public reports name the runner class beside latency claims.
  • New rows can add runner fields without changing scenario or operation identity.