Every commit scored for change-risk against this repo's own history, so 'elevated' means elevated here rather than on some global curve.
Needs review
12 commits sit in this repo's top risk tercile, which is 32% of the 38scored. The cut is drawn against this codebase's own history rather than a global curve, so a quiet repo still fills its top band, and here it starts at 7.6 out of 10. What pushes a commit up is size and spread together: a large change confined to one area scores below a smaller one scattered across a dozen files.
Commit categories over time, read off the subject line. Fixes carry the accent because that is the series this chart exists to show.
How this repo's commit mix shifts over time.
Ranked by change-risk, highest first. Priority is a tercile of this repo's own distribution, so a quiet repo still fills its top band.
| # | Commit | Author | When | Lines | Review priority | Top driver |
|---|---|---|---|---|---|---|
| 1 | e5e03610docs: high-level design and delivery roadmap | Peter van Liesdonkclaudeassisted | 4w ago | +657 -0 | 99thElevated | more lines added than baseline |
| 2 | de75f092feat: plex core — plugin skeleton, config, path matching, and status | Peter van Liesdonkclaudeassisted | 4w ago | +470 -0 | 96thElevated | more lines added than baseline |
| 3 | 525cfa0afeat: add beet plex sync — two-way rating sync | Peter van Liesdonkclaudeassisted | 4w ago | +408 -7 | 93thElevated | more lines added than baseline |
| 4 | e6917367feat: ratingtag plugin — rating field and file-tag storage | Peter van Liesdonkclaudeassisted | 4w ago | +395 -11 | 91thElevated | more lines added than baseline |
| 5 | 760eecf4chore: project scaffolding, CI, release workflow, and test fixtures | Peter van Liesdonkclaudeassisted | 4w ago | +316 -1 | 88thElevated | more lines added than baseline |
| 6 | 898ef442Initial commit | Peter van Liesdonk | 4w ago | +241 -0 | 86thElevated | more lines added than baseline |
| 7 | 54d4f5bdtest: cover collection prune/add/failure and unmatched paths; fix fake case-fidelity and config guards | Peter van Liesdonkclaudeassisted | 4w ago | +193 -14 | 83thElevated | more lines added than baseline |
| 8 | e2b154ddfeat: add beet plex playlists — push query-defined playlists | Peter van Liesdonkclaudeassisted | 4w ago | +185 -2 | 80thElevated | more lines added than baseline |
| 9 | b7548921feat: add beet plex stats — one-way pull of Plex play statistics | Peter van Liesdonkclaudeassisted | 4w ago | +134 -3 | 78thElevated | more lines added than baseline |
| 10 | 78ac735afeat: playlist/collection config, entries reader, and test doubles | Peter van Liesdonkclaudeassisted | 4w ago | +126 -1 | 75thElevated | more lines added than baseline |
| 11 | 2d895154feat: add beet plex collections — push query-defined collections | Peter van Liesdonk | 4w ago | +117 -1 | 72thElevated | more lines added than baseline |
| 12 | 8a200f38feat: run targeted Plex scans at cli_exit, failures as warnings | Peter van Liesdonkclaudeassisted | 4w ago | +82 -2 | 70thElevated | more lines added than baseline |
| 13 | 560cafd5docs: sync design.md with shipped rating sync; document plugin config and usage | Peter van Liesdonkclaudeassisted | 4w ago | +80 -22 | 66thTypical | more lines added than baseline |
| 14 | 86839fc8feat: auto-scan config, touched-dir handlers, conditional listeners | Peter van Liesdonkclaudeassisted | 4w ago | +81 -0 | 66thTypical | more lines added than baseline |
| 15 | 62b6225cfeat: pure scan planner for plex auto-scan | Peter van Liesdonkclaudeassisted | 4w ago | +64 -0 | 62thTypical | more lines added than baseline |
| 16 | 3e6c559atest: complete the auto-scan robustness matrix; fix docstring threshold wording | Peter van Liesdonkclaudeassisted | 4w ago | +72 -10 | 59thTypical | more lines added than baseline |
| 17 | 066900f5feat: pure diff/order helpers for the plex playlist/collection push | Peter van Liesdonk | 4w ago | +56 -0 | 54thTypical | more lines added than baseline |
| 18 | 66576c97feat: pure track_stats mapping for the plex stats pull | Peter van Liesdonk | 4w ago | +57 -0 | 54thTypical | more lines added than baseline |
| 19 | ae4fb2d4"Claude PR Assistant workflow" | Peter van Liesdonk | 4w ago | +50 -0 | 54thTypical | more lines added than baseline |
| 20 | 177a9d6afix: make targeted Plex scans per-directory resilient | Peter van Liesdonkclaudeassisted | 4w ago | +53 -10 | 49thTypical | more lines added than baseline |
| 21 | 6d8998a6feat: clear play-stat timestamps Plex no longer reports | Peter van Liesdonkclaudeassisted | 4w ago | +51 -7 | 45thTypical | more lines added than baseline |
| 22 | 4269ac34"Claude Code Review workflow" | Peter van Liesdonk | 4w ago | +44 -0 | 45thTypical | more lines added than baseline |
| 23 | cb242d11test: isolate beets' global config per test | Peter van Liesdonkclaudeassisted | 4w ago | +31 -13 | 39thTypical | more lines added than baseline |
| 24 | 433c3800fix: store play-stat timestamps as whole seconds for idempotency | Peter van Liesdonkclaudeassisted | 4w ago | +39 -5 | 39thTypical | more lines added than baseline |
| 25 | 35fc0abfrefactor: describe a rating conflict as a decision, not a landed write | Peter van Liesdonkclaudeassisted | 4w ago | +28 -5 | 36thTypical | more lines added than baseline |
| 26 | d579de3dfix: narrow the Plex-write except and correct rating-sync docs | Peter van Liesdonkclaudeassisted | 4w ago | +26 -15 | 33thBelow typical | more lines added than baseline |
| 27 | 31a3f2cefeat: declare plex play-statistics item fields | Peter van Liesdonkclaudeassisted | 4w ago | +20 -2 | 30thBelow typical | more lines added than baseline |
| 28 | fdfa1385test: strengthen stats-timestamp guard and correct its build-dependence note | Peter van Liesdonkclaudeassisted | 4w ago | +19 -13 | 26thBelow typical | more lines added than baseline |
| 29 | cdcefa89refactor: resolve section once and compute plex_path once in match() | Peter van Liesdonk | 4w ago | +19 -6 | 26thBelow typical | more lines added than baseline |
| 30 | a009b5a4fix: truncate plex_updated to whole seconds; cover lastratedat clear | Peter van Liesdonkclaudeassisted | 4w ago | +17 -2 | 22thBelow typical | more lines added than baseline |
| 31 | b4f2d839test: assert a non-Plex error propagates from sync_ratings | Peter van Liesdonkclaudeassisted | 4w ago | +15 -0 | 20thBelow typical | more lines added than baseline |
| 32 | 7d736667docs: cover auto-scan in the module docstring; test the cli_exit skipped-dir path | Peter van Liesdonkclaudeassisted | 4w ago | +14 -1 | 17thBelow typical | more lines added than baseline |
| 33 | 271efd81chore: Update permissions and options in code review workflow | Peter van Liesdonk | 4w ago | +9 -3 | 14thBelow typical | fewer lines added than baseline |
| 34 | b75d2eaarefactor: remove now-unused matching.resolve and tighten stats query test | Peter van Liesdonkclaudeassisted | 4w ago | +8 -12 | 12thBelow typical | fewer lines added than baseline |
| 35 | faeed5eechore: release prep for 0.1.0 — document PyPI install and pin dependency floors | Peter van Liesdonkclaudeassisted | 4w ago | +8 -5 | 9thBelow typical | fewer lines added than baseline |
| 36 | 14913602docs: cover the playlists/collections commands in the module docstring | Peter van Liesdonkclaudeassisted | 4w ago | +6 -4 | 5thBelow typical | fewer lines added than baseline |
| 37 | e2032b13Update issue permissions in claude.yml | Peter van Liesdonk | 4w ago | +6 -1 | 5thBelow typical | fewer lines added than baseline |
| 38 | e49887a9fix: close sqlite connection in the flex-roundtrip test helper | Peter van Liesdonkclaudeassisted | 4w ago | +5 -4 | 1thBelow typical | fewer lines added than baseline |
Two views of the same model: where the cuts fall, and what commit shape lands you above them.
Every scored commit, binned on the raw 0 to 10 score rather than the percentile. Percentile ranks are uniform by construction, so that axis has no shape to draw. The dashed lines are the tercile cuts behind each row's priority pill.
The 38 most recent commits, on their own recency sample rather than the feed above: that defaults to risk-sorted, so reusing it would plot only the top tercile and call it the spread. Big and scattered is what the model penalises. Click a dot to open it.
pvliesdonk/beets-plex has 49 commits in its history from 1 contributor, the first of them Jul 28, 2026. In the last 90 days 17 files were touched, 73 times in total, most often __init__.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.