Problem
Epic #8211 track F. Dual-reviewer consensus events already exist (reviewer-consensus calibration, packages/loopover-engine/src/reviewer-consensus-calibration.ts), and reversal labels now say which calls were right. Nothing computes what that implies per PROVIDER: measured precision per reviewer identity, per repo, over decided cases.
Requirements
⚠️ Required pattern. Engine-pure extension beside the existing consensus-calibration module — reuse its ingestion shapes; root mirror suite; null-precision-below-sample-floor discipline throughout.
computeProviderTrackRecords(signals, cases) → per (provider, repo) and per provider overall: {decided, confirmed, reversed, precision|null, split/consensus agreement rates}.
- Deterministic ordering; aggregates only; providers are opaque ids (no config coupling).
Deliverables
Links & Resources
#8211 (epic), packages/loopover-engine/src/reviewer-consensus-calibration.ts
Boundaries
Computation only — routing/weighting is the maintainer follow-on. No provider names hardcoded.
Problem
Epic #8211 track F. Dual-reviewer consensus events already exist (reviewer-consensus calibration, packages/loopover-engine/src/reviewer-consensus-calibration.ts), and reversal labels now say which calls were right. Nothing computes what that implies per PROVIDER: measured precision per reviewer identity, per repo, over decided cases.
Requirements
computeProviderTrackRecords(signals, cases)→ per (provider, repo) and per provider overall: {decided, confirmed, reversed, precision|null, split/consensus agreement rates}.Deliverables
Links & Resources
#8211 (epic), packages/loopover-engine/src/reviewer-consensus-calibration.ts
Boundaries
Computation only — routing/weighting is the maintainer follow-on. No provider names hardcoded.