Skip to content

calibration: weekly stratified human-audit sampling with a frozen rubric (no_reversal is unlabeled) #8830

Description

@JSONbored

Context

Parent: #8828 (Phase 2 — labels). Our ground-truth label today is "no human reversed it", which scores a silently-wrong merge as correct — it measures reversal-propensity, not correctness. Every downstream metric inherits this bias.

Requirements

  • A weekly audit-sampling job: select k (~20-40) decided PRs, stratified — oversample merges (the costly arm), low-confidence decisions (once Epic: provable decision accuracy — measurement, labels, calibrated abstention, and a legible decision record #8828's confidence signal exists; until then random within arm), and first-time contributors.
  • A frozen written rubric for adjudication (correct/incorrect/uncertain per decision, with a reason category), versioned in-repo; rubric edits require a version bump so labels are never silently re-interpreted.
  • An operator surface (CLI acceptable, mirroring loopover-miner deny-hooks) to list the week's sample, record adjudications, and export labels into a new decision_audit_labels table (migration required, contiguous NNNN).
  • Labels feed two consumers: the calibration set for risk-control thresholds (later sub-issue) and an audited-accuracy estimate with stratification weights, published alongside the reversal-based number — the divergence between the two IS the measurement of label bias.
  • Treat no_reversal as unlabeled everywhere this surface touches; only human adjudications are labels.

Test Coverage Requirements

99%+ patch coverage, branch-counted, on all src/** changes; the stratified sampler must be deterministic under an injected RNG seed and property-tested for stratum coverage.

Expected Outcome

A growing human-labeled corpus with known sampling weights; a published audited-accuracy figure that does not depend on humans having noticed mistakes.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions