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
23 commits sit in this repo's top risk tercile, which is 33% of the 70scored. 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.2 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.
Consistently docs-driven across its history.
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 | ce13089cchore: import existing plugin source as baseline | Peter van Liesdonkclaudeassisted | 4w ago | +1.4K -0 | 99thElevated | more lines added than baseline |
| 2 | 03cae09ffeat: chartsgen command generating CHARTS tags from the dataset (#93) | Peter van Liesdonkclaudeagent | 1w ago | +916 -21 | 98thElevated | more lines added than baseline |
| 3 | 99aaf912test: add command-level tests for chartsupdate, charts, and hitlist (#46) | Peter van Liesdonkclaudeassisted | 3w ago | +317 -0 | 96thElevated | more lines added than baseline |
| 4 | 9e52d4c1docs: add roadmap index, repository guide, README, license, gitignore | Peter van Liesdonkclaudeassisted | 4w ago | +374 -0 | 96thElevated | more lines added than baseline |
| 5 | 51204662feat: chart edition dataset model and reader | Peter van Liesdonkclaudeassisted | 3w ago | +308 -0 | 94thElevated | more lines added than baseline |
| 6 | 776ae024docs: chart second roadmap — generating CHARTS tags from acquired chart data | Claudeclaudeautonomous | 3w ago | +141 -29 | 92thElevated | more lines added than baseline |
| 7 | e654b095feat: SongLookupIndex with per-track hit/miss lookup | Peter van Liesdonkclaudeassisted | 3w ago | +171 -1 | 89thElevated | more lines added than baseline |
| 8 | 8b5d52f2test: pin dataset reader validation and discovery rules | Peter van Liesdonkclaudeassisted | 3w ago | +153 -0 | 89thElevated | more lines added than baseline |
| 9 | 3a222780test: cover config-driven hitlists (custom, empty, fallback, guard) | Peter van Liesdonkclaudeassisted | 3w ago | +149 -0 | 89thElevated | more lines added than baseline |
| 10 | 4ded04d7test: add chart model round-trip and malformed-input tests (#31) | Peter van Liesdonkclaudeassisted | 4w ago | +154 -0 | 89thElevated | more lines added than baseline |
| 11 | a54fbb1ftest: add pytest harness and first smoke test | Peter van Liesdonkclaudeassisted | 4w ago | +146 -0 | 85thElevated | more lines added than baseline |
| 12 | 948d9fa1ci: add Claude review workflows from beets-plex | Peter van Liesdonkclaudeassisted | 4w ago | +105 -0 | 84thElevated | more lines added than baseline |
| 13 | 7f66f894docs: document the chart dataset and chartsgen in README (#95) | Peter van Liesdonkclaudeagent | 1w ago | +155 -11 | 81thElevated | more lines added than baseline |
| 14 | 01e23d04style: make existing source conform to ruff | Peter van Liesdonkclaudeassisted | 4w ago | +119 -143 | 81thElevated | more lines added than baseline |
| 15 | 9e528a73feat: per-chart score and highest computation | Peter van Liesdonkclaudeassisted | 3w ago | +94 -0 | 79thElevated | more lines added than baseline |
| 16 | cc260748docs: add install instructions and CHARTS tag format to README | Claudeclaudeautonomous | 3w ago | +74 -3 | 79thElevated | more lines added than baseline |
| 17 | eec57083docs: add contributing guide with release process | Peter van Liesdonkclaudeassisted | 3w ago | +84 -0 | 76thElevated | more lines added than baseline |
| 18 | 1dfbd985test: pin lookup ambiguity, unnormalizable, and skip behaviours | Peter van Liesdonkclaudeassisted | 3w ago | +78 -0 | 75thElevated | more lines added than baseline |
| 19 | 4727d6a0feat: shared normalize() for exact caseless song matching | Peter van Liesdonkclaudeassisted | 3w ago | +78 -0 | 73thElevated | more lines added than baseline |
| 20 | 62388028fix: catch ChartsParseException in ChartListType.normalize | Peter van Liesdonkclaudeassisted | 4w ago | +76 -4 | 73thElevated | more lines added than baseline |
| 21 | b3f2b2a3docs: record milestone 6 completion in the roadmap index (#97) | Peter van Liesdonkclaudeagent | 1w ago | +65 -7 | 70thElevated | more lines added than baseline |
| 22 | 2c65be4ftest: pin the thin slice's round-trip indistinguishability criterion (#94) | Peter van Liesdonkclaudeagent | 1w ago | +66 -0 | 70thElevated | more lines added than baseline |
| 23 | c0028988fix: wrap non-UTF-8 dataset files in DatasetError; cover structural rejections | Peter van Liesdonkclaudeassisted | 3w ago | +79 -1 | 68thElevated | more lines added than baseline |
| 24 | 228a7d93feat: add hitlists config key with shipped defaults | Peter van Liesdonkclaudeassisted | 3w ago | +58 -1 | 66thTypical | more lines added than baseline |
| 25 | 1482ebaebuild: package the plugin as an installable PEP 420 namespace wheel | Peter van Liesdonkclaudeassisted | 4w ago | +64 -3 | 65thTypical | more lines added than baseline |
| 26 | 3d8da28cdocs: document chartsupdate, charts, and hitlist commands in README (#47) | Peter van Liesdonkclaudeassisted | 3w ago | +46 -0 | 64thTypical | more lines added than baseline |
| 27 | 0685043fdocs: document configurable hitlists in README | Peter van Liesdonkclaudeassisted | 3w ago | +33 -6 | 62thTypical | more lines added than baseline |
| 28 | 2b718025feat: add dataset_dir config key and property | Peter van Liesdonkclaudeassisted | 3w ago | +36 -0 | 60thTypical | more lines added than baseline |
| 29 | 2efc88b6fix: validate Chart.from_dict input and log normalize errors through plugin (#30) | Peter van Liesdonkclaudeassisted | 4w ago | +28 -7 | 60thTypical | more lines added than baseline |
| 30 | 8708cde6ci: gate every PR on lint and tests | Peter van Liesdonkclaudeassisted | 4w ago | +30 -0 | 58thTypical | more lines added than baseline |
| 31 | 7edb9341docs: record milestone 6 refinement in roadmap index | Claudeclaudeautonomous | 3w ago | +24 -7 | 56thTypical | more lines added than baseline |
| 32 | e59bd62aci: add release workflow for PyPI trusted publishing | Peter van Liesdonkclaudeassisted | 3w ago | +26 -0 | 56thTypical | more lines added than baseline |
| 33 | d2a240b2docs: roadmap dataset format is one file per hitlist (songs + editions) | Peter van Liesdonkclaudeassisted | 3w ago | +24 -9 | 54thTypical | more lines added than baseline |
| 34 | e9b731f8feat: make Placement enforce 1 <= position <= size | Peter van Liesdonkclaudeassisted | 3w ago | +27 -0 | 52thTypical | more lines added than baseline |
| 35 | 112ed45crefactor: convert the plugin module into a package | Peter van Liesdonkclaudeassisted | 3w ago | +31 -6 | 51thTypical | more lines added than baseline |
| 36 | 242eaeb2docs: resolve field materialization research, all 33 issues now closed | Peter van Liesdonkclaudeassisted | 3w ago | +19 -13 | 48thTypical | more lines added than baseline |
| 37 | 2b4b4a77docs: attribute the historical generalization constraint to mediafile | Peter van Liesdonkclaudeassisted | 4w ago | +17 -5 | 48thTypical | more lines added than baseline |
| 38 | 31f39894docs: resolve two roadmap unknowns from user decisions | Peter van Liesdonkclaudeassisted | 4w ago | +17 -9 | 48thTypical | more lines added than baseline |
| 39 | 5d319adddocs: record milestone 3 completion and milestone 4 refinement in roadmap | Peter van Liesdonkclaudeassisted | 3w ago | +17 -5 | 45thTypical | more lines added than baseline |
| 40 | 29fb0e0btest: fix _add_item sentinel so None-charts tests exercise the #41 guard | Peter van Liesdonkclaudeassisted | 3w ago | +12 -3 | 44thTypical | more focused than baseline |
| 41 | 0ad1c4cedocs: address roadmap review nits — renumber ordering argument, fix provenance tag | Claudeclaudeautonomous | 3w ago | +9 -8 | 41thTypical | fewer lines added than baseline |
| 42 | dc66eb4adocs: normalize table padding and note space-separated plugins form | Claudeclaudeautonomous | 3w ago | +9 -7 | 41thTypical | fewer lines added than baseline |
| 43 | 6c02b51afeat: replace hardcoded HITLISTS with config-driven definitions | Peter van Liesdonkclaudeassisted | 3w ago | +10 -20 | 41thTypical | more focused than baseline |
| 44 | a2ee4cbfdocs: repoint roadmap locators after milestone 1 | Peter van Liesdonkclaudeassisted | 4w ago | +9 -5 | 38thTypical | fewer lines added than baseline |
| 45 | ee541cd3docs: record milestone 4 completion and milestone 5 refinement | Peter van Liesdonkclaudeassisted | 3w ago | +9 -0 | 36thTypical | fewer lines added than baseline |
| 46 | aef3b2e1docs: link roadmap index to the created milestones | Peter van Liesdonkclaudeassisted | 4w ago | +8 -0 | 36thTypical | fewer lines added than baseline |
| 47 | 1323a01dfix: correct ChartList.from_json_string list deserialization (#28) | Peter van Liesdonkclaudeassisted | 4w ago | +8 -6 | 34thTypical | fewer lines added than baseline |
| 48 | 506936efdocs: record roadmap completion and v0.1.0 release | Peter van Liesdonkclaudeassisted | 3w ago | +7 -0 | 31thBelow typical | fewer lines added than baseline |
| 49 | 625fde82docs: record milestone 5 completion in roadmap | Peter van Liesdonkclaudeassisted | 3w ago | +7 -0 | 31thBelow typical | fewer lines added than baseline |
| 50 | fe236889build: pin hatchling and exclude stale variant files from wheel | Peter van Liesdonkclaudeassisted | 4w ago | +6 -1 | 29thBelow 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 70 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-hitlisttag has 88 commits in its history from 2 contributors, the first of them Jul 31, 2026. In the last 90 days 18 files were touched, 48 times in total, most often test_commands.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.