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
17 commits sit in this repo's top risk tercile, which is 33% of the 51scored. 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.5 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.
Began feature-led, now leaning other.
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 | 5a6f9c01Split sensor.py and test_pepper_api.py into smaller modular files | Fabian Seitz | 4w ago | +2.0K -2.3K | 99%Elevated | more lines added than baseline |
| 2 | 8be17263Initial commit | Fabian Seitz | 4w ago | +3.1K -0 | 97%Elevated | more lines added than baseline |
| 3 | f433e247feat: expand entities, fix API schema, add 6 new sensors + 1 binary sensor | Fabian Seitz | 4w ago | +1.6K -310 | 94%Elevated | more lines added than baseline |
| 4 | 4fb6c95dfix: release workflow | Fabian Seitz | 4w ago | +1.2K -12 | 94%Elevated | more lines added than baseline |
| 5 | 498d07e7feat: complete feature expansion of Pepper integration | Fabian Seitz | 4w ago | +930 -14 | 91%Elevated | more lines added than baseline |
| 6 | 40b39336Add new sensors and binary sensors for MyDealz integration | Fabian Seitz | 4w ago | +711 -1 | 89%Elevated | more lines added than baseline |
| 7 | 9e2510e0Implement advanced features including trend sensors, smart filters, dynamic search sensor, and actions with tests | Fabian Seitz | 4w ago | +459 -2 | 86%Elevated | more lines added than baseline |
| 8 | 2591b396feat: implement optional login credentials, freebies, vouchers, user stats, and search service | Fabian Seitz | 4w ago | +611 -82 | 86%Elevated | more lines added than baseline |
| 9 | 8eb5e40bConsolidate individual feed statistics and user profile entities into TopDeals and UserAccount attributes | Fabian Seitz | 4w ago | +269 -1.3K | 83%Elevated | more lines added than baseline |
| 10 | 35a15556Add category/group-specific filtering, API latency and API status diagnostic sensors with tests | Fabian Seitz | 4w ago | +230 -2 | 81%Elevated | more lines added than baseline |
| 11 | 2b0a9012feat: implement hottestWidget daily highlights, visit button, and update documentation | Fabian Seitz | 4w ago | +254 -133 | 79%Elevated | more lines added than baseline |
| 12 | d0645cf3Unquote URL-encoded quotes (%22) from XSRF token value | Fabian Seitz | 4w ago | +134 -30 | 75%Elevated | more lines added than baseline |
| 13 | ec77e43ffeat: diagnostics & options flow | Fabian Seitz | 4w ago | +116 -4 | 75%Elevated | more lines added than baseline |
| 14 | 49467c13Preserve User-Agent headers across config flow and setup to prevent WAF session mismatch | Fabian Seitz | 4w ago | +142 -16 | 75%Elevated | more lines added than baseline |
| 15 | 61600897style: auto-fix and format with Ruff [skip ci] | FaserF | 4w ago | +130 -90 | 75%Elevated | more lines added than baseline |
| 16 | 594782c8Add Preisfehler (price error) sensor and binary sensor entities | Fabian Seitz | 4w ago | +176 -1 | 70%Elevated | more lines added than baseline |
| 17 | 666aa910Exclude freebies (0.0 price) from cheapest deal and average price computations, add unit tests | Fabian Seitz | 4w ago | +92 -2 | 68%Elevated | more lines added than baseline |
| 18 | 44b67bc2fix: delay urllib opener creation to prevent blocking event loop ssl calls | Fabian Seitz | 4w ago | +83 -33 | 66%Typical | more lines added than baseline |
| 19 | 019ede00Implement 24-hour cache fallback on coordinator update errors | Fabian Seitz | 4w ago | +34 -0 | 64%Typical | more lines added than baseline |
| 20 | 08b54540Optimize coordinator by fetching main feed once and filtering client-side to prevent WAF rate-limiting | Fabian Seitz | 4w ago | +24 -11 | 62%Typical | more lines added than baseline |
| 21 | 4fe58bd1Update release.yml | Fabian Seitz | 4w ago | +15 -2 | 60%Typical | more lines added than baseline |
| 22 | d73bcfb5ci: optimize CI triggers and add structured changelog generator | Fabian Seitz | 1w ago | +13 -1 | 58%Typical | more lines added than baseline |
| 23 | 241442adfix: change GraphQL query parameter 'first' to 'limit' | Fabian Seitz | 4w ago | +8 -8 | 56%Typical | fewer lines added than baseline |
| 24 | 1b7ae095fix: voucher data fetching | Fabian Seitz | 4w ago | +8 -2 | 54%Typical | fewer lines added than baseline |
| 25 | 3f781aa7fix hassfest CI test | Fabian Seitz | 4w ago | +7 -4 | 52%Typical | fewer lines added than baseline |
| 26 | 769d172bfix CI mypy linter | Fabian Seitz | 4w ago | +6 -6 | 49%Typical | fewer lines added than baseline |
| 27 | 82604bf8Add human-like delays before and after login query to bypass WAF speed-limit teapot blocks | Fabian Seitz | 4w ago | +6 -0 | 49%Typical | fewer lines added than baseline |
| 28 | 78b838famypy ci linter fixes | Fabian Seitz | 4w ago | +5 -5 | 46%Typical | fewer lines added than baseline |
| 29 | b2abfb24Update actions/checkout action to v7.0.1 (#6) | renovate[bot] | 3w ago | +5 -5 | 43%Typical | fewer lines added than baseline |
| 30 | 0eaa1b76Update actions/setup-python action to v7 (#5) | renovate[bot] | 3w ago | +4 -4 | 43%Typical | fewer lines added than baseline |
| 31 | ac929642style: auto-fix and format with Ruff [skip ci] | FaserF | 4w ago | +4 -1 | 39%Typical | fewer lines added than baseline |
| 32 | 395f6632Add hacs badge | Fabian Seitz | 4w ago | +4 -0 | 39%Typical | fewer lines added than baseline |
| 33 | 59391bb4chore(dev): bump to 0.0.3-dev0 [skip ci] | github-actions[bot] | 4w ago | +4 -4 | 36%Typical | fewer lines added than baseline |
| 34 | 6a538140Update github/codeql-action action to v4.37.3 (#9) | renovate[bot] | 3w ago | +3 -3 | 32%Below typical | fewer lines added than baseline |
| 35 | a5dd551aUpdate github/codeql-action action to v4.37.2 (#8) | renovate[bot] | 3w ago | +3 -3 | 32%Below typical | fewer lines added than baseline |
| 36 | 5a371925chore(deps): update github/codeql-action action to v4.37.1 (#4) | renovate[bot] | 4w ago | +3 -3 | 32%Below typical | fewer lines added than baseline |
| 37 | 8a930411Update github/codeql-action action to v4.37.7 (#14) | renovate[bot] | 17h ago | +3 -3 | 25%Below typical | fewer lines added than baseline |
| 38 | 63515401Update github/codeql-action action to v4.37.6 (#12) | renovate[bot] | 1w ago | +3 -3 | 25%Below typical | fewer lines added than baseline |
| 39 | 4abddfaaUpdate github/codeql-action action to v4.37.5 (#11) | renovate[bot] | 1w ago | +3 -3 | 25%Below typical | fewer lines added than baseline |
| 40 | 0713cdc9Update github/codeql-action action to v4.37.4 (#10) | renovate[bot] | 2w ago | +3 -3 | 25%Below typical | fewer lines added than baseline |
| 41 | 8b792cdcchore(dev): bump to 1.0.1-dev0 [skip ci] | github-actions[bot] | 4w ago | +3 -3 | 21%Below typical | fewer lines added than baseline |
| 42 | f41b5372chore(deps): update actions/github-script action to v9 | renovate[bot] | 4w ago | +1 -1 | 17%Below typical | fewer lines added than baseline |
| 43 | c1fb9332Move pepper_api.md to docs/ to fix 404 in built site | Fabian Seitz | 4w ago | +2 -2 | 17%Below typical | fewer lines added than baseline |
| 44 | 0be412f2Enable config_flow in Pepper manifest | Fabian Seitz | 4w ago | +1 -0 | 17%Below typical | fewer lines added than baseline |
| 45 | 87edf747Update dependency python to v3.14.7 (#13) | renovate[bot] | 1w ago | +1 -1 | 9%Below typical | fewer lines added than baseline |
| 46 | ed799e3fUpdate actions/labeler action to v7 (#7) | renovate[bot] | 3w ago | +1 -1 | 9%Below typical | fewer lines added than baseline |
| 47 | 74b73648style: auto-fix and format with Ruff [skip ci] | FaserF | 4w ago | +1 -0 | 9%Below typical | fewer lines added than baseline |
| 48 | 8e4bbd8achore(dev): bump to 0.0.3-dev0 [skip ci] | github-actions[bot] | 4w ago | +1 -1 | 9%Below typical | fewer lines added than baseline |
| 49 | 7f277665style: auto-fix and format with Ruff [skip ci] | FaserF | 4w ago | +1 -1 | 9%Below typical | fewer lines added than baseline |
| 50 | b2802ec6Update release.yml | Fabian Seitz | 4w ago | +1 -0 | 3%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 51 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-pepper has 53 commits in its history from 4 contributors, the first of them Jul 14, 2026. In the last 90 days 23 files were touched, 98 times in total, most often coordinator.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.