Problem
Epic #8211 track G. The strongest public trust claim this product can make is measured: 'over the trailing 90 days, N decided close-class decisions, X% human-validated, reversals counted against ourselves.' The internal trend has these numbers; no public surface does.
Requirements
⚠️ Required pattern. Extends src/review/public-stats.ts under its existing public/private boundary discipline: aggregates + rule ids only, sample-floor nulls so sparse rules cannot be misread, the sanitizer-invariant test table extended to assert no forbidden term or corpus fragment can appear, and cached like sibling public stats.
- Public endpoint (+ openapi regen) exposing per-rule {decided, precision|null, window}, overall reversal counts (all three reversal event types), and the corpus-manifest checksum + freeze point of the latest published corpus snapshot for the reproducibility story.
- Explicit exclusions documented in-code: no per-repo splits publicly (repo identity is a customer signal), no confidence distributions.
Deliverables
Links & Resources
#8211 (epic), src/review/public-stats.ts, src/services/rule-calibration-trend.ts, #8136 (the reproducibility conclusion this operationalizes)
Boundaries
Aggregates only, forever. Anything customer-identifying stays internal.
maintainer-only — public/private boundary surface.
Problem
Epic #8211 track G. The strongest public trust claim this product can make is measured: 'over the trailing 90 days, N decided close-class decisions, X% human-validated, reversals counted against ourselves.' The internal trend has these numbers; no public surface does.
Requirements
Deliverables
Links & Resources
#8211 (epic), src/review/public-stats.ts, src/services/rule-calibration-trend.ts, #8136 (the reproducibility conclusion this operationalizes)
Boundaries
Aggregates only, forever. Anything customer-identifying stays internal.
maintainer-only — public/private boundary surface.