# Hardware tiers for perf baselines (PF-08)

Perf baselines (`baselines.json`) are tied to a **hardware tier** — a measured
baseline from one tier MUST NOT be compared against a measurement from another
(PF-08). The tier is operator discipline (the `$hw_tier` tag in
`baselines.json`), not auto-detected. Re-baseline on the reference machine for
the tier you run the perf job on.

## `dev-local-2026`

The current baselines were recorded here.

- Reference: the maintainer's development workstation, Linux x86_64,
  Python 3.13.x, an NVMe SSD. CPU governor not pinned (so thresholds are
  generous — these pins exist to catch *gross* regressions and creeping drift,
  not micro-noise).
- Baselines recorded here: `current_context_*`, `redact_string_*`,
  `json_formatter_*`, `redactor_*`, `async_emit_*`, `operation_span_*`,
  `bootstrap_*` (i.e. all of them, currently).

## `ci-amd64-small` (placeholder — not yet populated)

- Reference: the Woodpecker runner (shared vCPUs, variable). Highly noisy;
  baselines stored under this tier would use wider `regression_threshold_pct`.
- Populate by running `mgf-fed bench rebaseline` on that runner and
  committing a tier-tagged `baselines.json` (a separate PF-04 PR).

---

Adding a tier is a short PR: describe the reference hardware here, then record
baselines tagged with the new `$hw_tier`. Two tiers are enough to start.
