Phase 1 — Review output, noise & trust
Context
We already compute added-line counts and file priority (src/review/review-diff.ts: addedLineCount, diffFilePriority) and a size gate, but never surface a review-effort estimate. src/review/public-stats.ts currently credits a flat 20 minutes saved per reviewed PR — not credible.
Goal
A deterministic per-PR review-effort/complexity score, surfaced in the review comment and used to compute a credible review-time ROI figure.
Requirements
- Pure deterministic estimator (files touched, added lines, file-type mix via
path-matchers, hunk spread) → a 1–5 complexity band + minutes estimate. No AI; a review.effort_score toggle controls display.
- Replace the flat
MINUTES_SAVED_PER_PR in src/review/public-stats.ts with the per-PR estimate; surface the aggregate only in the self-host maintainer dashboard/stats feed (src/review/stats.ts).
Deliverables
- Estimator module + tests.
- A compact "review effort: N/5 (~M min)" line in the unified comment (
src/review/unified-comment.ts), display gated by config.
public-stats.ts + stats.ts wired to the per-PR estimate.
Expected outcome
- Credible, grounded review-time-saved reporting; a quick complexity read for maintainers triaging the queue.
Effort
S.
Phase 1 — Review output, noise & trust
Context
We already compute added-line counts and file priority (
src/review/review-diff.ts:addedLineCount,diffFilePriority) and a size gate, but never surface a review-effort estimate.src/review/public-stats.tscurrently credits a flat 20 minutes saved per reviewed PR — not credible.Goal
A deterministic per-PR review-effort/complexity score, surfaced in the review comment and used to compute a credible review-time ROI figure.
Requirements
path-matchers, hunk spread) → a 1–5 complexity band + minutes estimate. No AI; areview.effort_scoretoggle controls display.MINUTES_SAVED_PER_PRinsrc/review/public-stats.tswith the per-PR estimate; surface the aggregate only in the self-host maintainer dashboard/stats feed (src/review/stats.ts).Deliverables
src/review/unified-comment.ts), display gated by config.public-stats.ts+stats.tswired to the per-PR estimate.Expected outcome
Effort
S.