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
7 commits sit in this repo's top risk tercile, which is 33% of the 21scored. 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 5.3 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 | Risk | Top driver |
|---|---|---|---|---|---|---|
| 1 | 608b7ad5Initial commit | Fabian Seitz | 1d ago | +4.3K -0 | 98%Elevated | more lines added than baseline |
| 2 | 6c4aac88refactor: account & login entities | Fabian Seitz | 1d ago | +297 -238 | 93%Elevated | more lines added than baseline |
| 3 | 01911796style: auto-fix and format with Ruff [skip ci] | FaserF | 1d ago | +94 -42 | 88%Elevated | more lines added than baseline |
| 4 | 9f423421CI linter fixes | Fabian Seitz | 1d ago | +105 -162 | 83%Elevated | more lines added than baseline |
| 5 | 34f6e3c2CI pytest fix | Fabian Seitz | 1d ago | +28 -15 | 79%Elevated | more lines added than baseline |
| 6 | 1c68d359test: migrate ConfigEntry instantiation to MockConfigEntry in ha-norma test suite | Fabian Seitz | 1d ago | +15 -43 | 74%Elevated | more scattered than baseline |
| 7 | 54c1d327fix: add missing NormaValidUntilSensor class | Fabian Seitz | 1d ago | +20 -0 | 69%Elevated | more lines added than baseline |
| 8 | 9e49879bCI pytest fixes | Fabian Seitz | 1d ago | +16 -25 | 64%Typical | more lines added than baseline |
| 9 | a25b1f1ffix: use .github/scripts/changelog_builder.py in release details script | Fabian Seitz | 1d ago | +11 -13 | 60%Typical | more focused than baseline |
| 10 | 27f7b58astyle: auto-fix and format with Ruff [skip ci] | FaserF | 1d ago | +5 -1 | 55%Typical | fewer lines added than baseline |
| 11 | ff5aba61CI linter fix | Fabian Seitz | 1d ago | +4 -9 | 50%Typical | fewer lines added than baseline |
| 12 | 285cb27cCI linter fixes | Fabian Seitz | 1d ago | +5 -9 | 45%Typical | fewer lines added than baseline |
| 13 | dbc5594echore(deps): update github/codeql-action action to v4.37.7 (#3) | renovate[bot] | 9h ago | +3 -3 | 38%Typical | fewer lines added than baseline |
| 14 | 3038b43astyle: auto-fix and format with Ruff [skip ci] | FaserF | 1d ago | +3 -3 | 38%Typical | fewer lines added than baseline |
| 15 | 98592317chore(dev): bump to 1.0.1-dev0 [skip ci] | github-actions[bot] | 1d ago | +3 -3 | 31%Below typical | fewer lines added than baseline |
| 16 | 66686c78Update dependency python to v3.14.7 | renovate[bot] | 1d ago | +1 -1 | 26%Below typical | fewer lines added than baseline |
| 17 | 9750e6afstyle: auto-fix and format with Ruff [skip ci] | FaserF | 1d ago | +1 -5 | 21%Below typical | fewer lines added than baseline |
| 18 | cd677a1ctest: remove obsolete test_binary_sensor.py | Fabian Seitz | 1d ago | +0 -32 | 12%Below typical | fewer lines added than baseline |
| 19 | b750d66dfix: remove orphaned account device from registry on logout/reload | Fabian Seitz | 1d ago | +0 -1 | 12%Below typical | fewer lines added than baseline |
| 20 | 4bb396c2fix: remove shebang from calculate_release_details.py to resolve EXE001 on Windows CI | Fabian Seitz | 1d ago | +0 -1 | 12%Below typical | fewer lines added than baseline |
| 21 | 018fe104fix norma logo | Fabian Seitz | 1d ago | +0 -0 | 2%Below 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 21 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.
FaserF/ha-norma has 22 commits in its history from 4 contributors, the first of them Aug 12, 2026. In the last 90 days 22 files were touched, 70 times in total, most often config_flow.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.