Phase 3 — Analysis depth, analytics & developer experience
Context
We already COMPUTE the metrics: gate precision + confusion matrix (src/review/parity.ts computeGateEval), calibration (src/review/ops.ts computeCalibration), reversal rate, cycle-time, slop-band calibration, queue health, and a stats feed (src/review/stats.ts). There is no polished maintainer-facing dashboard, and no acceptance-rate metric.
Goal
A self-host maintainer analytics dashboard that surfaces what we already compute, plus acceptance tracking and export.
Requirements
- Dashboard (self-host; integrate with the existing observability/Grafana stack +
stats.ts feed) showing: gate precision/calibration, reversal rate, cycle-time percentiles, slop-band calibration, queue health, findings by category/severity.
- Add a finding acceptance-rate signal (did the contributor act on a finding → merged) tied to inline comments + outcomes.
- CSV/metrics export from the ledger. Bearer-gated; self-host only; public-safe.
Deliverables
- Acceptance signal + dashboard views + export endpoint + tests + docs.
Expected outcome
- Operators see measured (not estimated) accuracy and ROI, with data to tune policy.
Effort
L.
Phase 3 — Analysis depth, analytics & developer experience
Context
We already COMPUTE the metrics: gate precision + confusion matrix (
src/review/parity.tscomputeGateEval), calibration (src/review/ops.tscomputeCalibration), reversal rate, cycle-time, slop-band calibration, queue health, and a stats feed (src/review/stats.ts). There is no polished maintainer-facing dashboard, and no acceptance-rate metric.Goal
A self-host maintainer analytics dashboard that surfaces what we already compute, plus acceptance tracking and export.
Requirements
stats.tsfeed) showing: gate precision/calibration, reversal rate, cycle-time percentiles, slop-band calibration, queue health, findings by category/severity.Deliverables
Expected outcome
Effort
L.