Parent
#1
Background
The report currently classifies reviews as shallow (0–2 comments) or deep (≥3 comments) using an absolute comment count threshold. This treats a 3-comment review on a 10-line fix the same as a 3-comment review on a 500-line refactor, which understates the engagement on large PRs and overstates it on trivial ones.
What to build
Normalise the shallow/deep split by the size of the reviewed PR: compute a comments-per-100-lines-changed ratio and threshold against that instead of (or in addition to) the absolute count.
Why deferred
Requires storing `additions` + `deletions` from the PR object for every PR the subject reviewed — a schema change to the activity set and an adapter change to fetch the extra field. GitHub exposes this without a diff fetch (it is on the PR object itself), but the scope increase (schema, adapter, tests, renderer) was judged out of proportion for v1. The ≥3 absolute threshold is a good-enough proxy for v1.
Acceptance criteria
Blocked by
- Visualisation / charting issue (graphs overhaul, to be filed)
Parent
#1
Background
The report currently classifies reviews as shallow (0–2 comments) or deep (≥3 comments) using an absolute comment count threshold. This treats a 3-comment review on a 10-line fix the same as a 3-comment review on a 500-line refactor, which understates the engagement on large PRs and overstates it on trivial ones.
What to build
Normalise the shallow/deep split by the size of the reviewed PR: compute a comments-per-100-lines-changed ratio and threshold against that instead of (or in addition to) the absolute count.
Why deferred
Requires storing `additions` + `deletions` from the PR object for every PR the subject reviewed — a schema change to the activity set and an adapter change to fetch the extra field. GitHub exposes this without a diff fetch (it is on the PR object itself), but the scope increase (schema, adapter, tests, renderer) was judged out of proportion for v1. The ≥3 absolute threshold is a good-enough proxy for v1.
Acceptance criteria
additions + deletions) is fetched and stored per reviewed PR (GitHub and GitLab adapters)Blocked by