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
36 commits sit in this repo's top risk tercile, which is 32% of the 112scored. 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 3.4 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 fix-led, now leaning refactor.
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 | f7481170Initial upload of current state | Fabian Seitz | 4mo ago | +2.3K -2 | 100%Elevated | more lines added than baseline |
| 2 | 12a2bf89feat: add full AegisBot feature set, services, buttons, and sensors | Fabian Seitz | 2h ago | +985 -64 | 98%Elevated | more lines added than baseline |
| 3 | c5b65f67fix: hacs release zip file & improved release workflow | Fabian Seitz | 1mo ago | +1.2K -250 | 98%Elevated | more lines added than baseline |
| 4 | 0fc26b88new pytests & fixes | Fabian Seitz | 4mo ago | +407 -41 | 97%Elevated | more lines added than baseline |
| 5 | f562924afeat: add zeroconf discovery and supervisor addon support | Fabian Seitz | 11h ago | +296 -47 | 96%Elevated | more lines added than baseline |
| 6 | fbef2dacworkflow improvements | Fabian Seitz | 3mo ago | +272 -214 | 96%Elevated | more lines added than baseline |
| 7 | 8780cbe2new pytest | Fabian Seitz | 3mo ago | +254 -0 | 94%Elevated | more lines added than baseline |
| 8 | 1641d0b3chore: improve issue templates with integration-specific fields and my-ha links | Fabian Seitz | 1mo ago | +163 -112 | 93%Elevated | more lines added than baseline |
| 9 | 6c7f1711fix(zeroconf): match service type without name filter and fix discovery_confirm card rendering | Fabian Seitz | 2h ago | +128 -52 | 92%Elevated | more lines added than baseline |
| 10 | 5d50da8afix: add missing translation files en.json and de.json [skip ci] | FaserF | 1mo ago | +108 -0 | 91%Elevated | more lines added than baseline |
| 11 | 601fc36blinter fixes | Fabian Seitz | 3mo ago | +133 -40 | 91%Elevated | more lines added than baseline |
| 12 | 534c490achore: add automated template updater and clean privacy sensitive fields | Fabian Seitz | 1mo ago | +140 -1 | 90%Elevated | more lines added than baseline |
| 13 | fc84c01bchore: unify workflows and update issue templates with assignees and labels [skip ci] | Fabian Seitz | 1mo ago | +120 -115 | 89%Elevated | more lines added than baseline |
| 14 | d3aed9c9chore: update template automations to dynamically track service versions | Fabian Seitz | 1mo ago | +69 -7 | 88%Elevated | more lines added than baseline |
| 15 | 7996e2b8chore: add generate_changelog.py script | Fabian Seitz | 3w ago | +73 -28 | 86%Elevated | more lines added than baseline |
| 16 | b7415725feat: add support for supervisor discovery flow | Fabian Seitz | 3w ago | +61 -0 | 86%Elevated | more lines added than baseline |
| 17 | 3ab614dfstyle: auto-fix and format with Ruff [skip ci] | FaserF | 1mo ago | +56 -28 | 86%Elevated | more lines added than baseline |
| 18 | eb681e8fUpdate release.yml | Fabian Seitz | 4w ago | +52 -52 | 84%Elevated | more lines added than baseline |
| 19 | ff0eb966style: auto-fix and format with Ruff [skip ci] | FaserF | 1mo ago | +44 -28 | 83%Elevated | more lines added than baseline |
| 20 | 07ec96d8pytest fixes | Fabian Seitz | 4mo ago | +40 -23 | 83%Elevated | more lines added than baseline |
| 21 | 6e8f2f5astyle: auto-fix and format with Ruff [skip ci] | FaserF | 11h ago | +36 -11 | 81%Elevated | more lines added than baseline |
| 22 | c087675fci: optimize CI triggers and add structured changelog generator | Fabian Seitz | 1w ago | +28 -28 | 81%Elevated | more lines added than baseline |
| 23 | 3c115035ci fixes | Fabian Seitz | 4mo ago | +22 -13 | 80%Elevated | more lines added than baseline |
| 24 | ac8c87fcfix CI tests & linter | Fabian Seitz | 3w ago | +23 -1 | 79%Elevated | more lines added than baseline |
| 25 | 642e1a8achore: unify workflows, scripts, and issue configs | Fabian Seitz | 1mo ago | +20 -0 | 78%Elevated | more lines added than baseline |
| 26 | ecaedfa8Allow and add requirements files for CI stabilization | Fabian Seitz | 4mo ago | +16 -0 | 77%Elevated | more lines added than baseline |
| 27 | 14a482e2Fix API tests: switch to aioclient_mock to resolve event loop conflicts | Fabian Seitz | 4mo ago | +18 -15 | 76%Elevated | more lines added than baseline |
| 28 | f7abb9c0chore: trigger auto release [bump-version] | Fabian Seitz | 1mo ago | +13 -3 | 75%Elevated | more lines added than baseline |
| 29 | 60cc832estyle: auto-fix and format with Ruff [skip ci] | FaserF | 3w ago | +12 -4 | 74%Elevated | more focused than baseline |
| 30 | 55456e99chore: fix CI linter issues and format code | Fabian Seitz | 1mo ago | +15 -3 | 74%Elevated | more lines added than baseline |
| 31 | e898e825chore(config): migrate config renovate.json | renovate[bot] | 3w ago | +11 -5 | 73%Elevated | more focused than baseline |
| 32 | 6ab5e087style: auto-fix and format with Ruff [skip ci] | FaserF | 1mo ago | +8 -12 | 72%Elevated | fewer lines added than baseline |
| 33 | d1d2283ddocs: document Zeroconf auto-discovery and supervisor prefilling in README | Fabian Seitz | 11h ago | +9 -2 | 71%Elevated | fewer lines added than baseline |
| 34 | 1b5c5244chore: optimize template updates with robust regex patterns | Fabian Seitz | 1mo ago | +9 -4 | 70%Elevated | fewer lines added than baseline |
| 35 | ae248e6fPin Python to v3.14.4 (#4) | renovate[bot] | 3mo ago | +6 -6 | 69%Elevated | fewer lines added than baseline |
| 36 | 97bdb86bpytest fixes | Fabian Seitz | 4mo ago | +10 -1 | 68%Elevated | more files than baseline |
| 37 | 64845ba9fix(release): level=minor/major respected even when current version has pre-release suffix | github-actions[bot] | 4w ago | +6 -3 | 67%Typical | fewer lines added than baseline |
| 38 | b88970effix: release workflow syntax & codeql logging alert | github-actions[bot] | 1mo ago | +6 -12 | 67%Typical | fewer lines added than baseline |
| 39 | 451c87c8chore: optimize template updates with robust regex patterns | Fabian Seitz | 1mo ago | +6 -10 | 67%Typical | fewer lines added than baseline |
| 40 | 88618a52chore: fix release variables and add workflow concurrency [bump-version] | Fabian Seitz | 1mo ago | +5 -1 | 64%Typical | fewer lines added than baseline |
| 41 | eaabdd66pytest fixes | Fabian Seitz | 4mo ago | +6 -3 | 64%Typical | fewer lines added than baseline |
| 42 | c68ca25dchore: optimize template updates with robust regex patterns | Fabian Seitz | 1mo ago | +5 -3 | 62%Typical | fewer lines added than baseline |
| 43 | 4c4652adstyle: auto-fix and format with Ruff [skip ci] | FaserF | 1mo ago | +5 -1 | 62%Typical | fewer lines added than baseline |
| 44 | 5583705cCI fixes | Fabian Seitz | 4mo ago | +7 -3 | 62%Typical | fewer lines added than baseline |
| 45 | 5a9e0901style: auto-fix and format with Ruff [skip ci] | FaserF | 2h ago | +4 -5 | 58%Typical | fewer lines added than baseline |
| 46 | 600b72cachore(deps): update actions/setup-python action to v7 | renovate[bot] | 1w ago | +4 -4 | 58%Typical | fewer lines added than baseline |
| 47 | c88568a4chore(deps): update actions/checkout action to v7.0.1 | renovate[bot] | 1w ago | +5 -5 | 58%Typical | fewer lines added than baseline |
| 48 | 6fc2e539chore: add automated template updater and clean privacy sensitive fields | Fabian Seitz | 1mo ago | +5 -16 | 58%Typical | fewer lines added than baseline |
| 49 | 901bbf4echore: improve release retry logic and fix null head_commit triggers [bump-version] | Fabian Seitz | 1mo ago | +5 -3 | 58%Typical | fewer lines added than baseline |
| 50 | feb490f7Initial commit | Fabian Seitz | 4mo ago | +4 -0 | 56%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 112 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-aegisbot has 122 commits in its history from 4 contributors, the first of them Apr 11, 2026. In the last 90 days 20 files were touched, 65 times in total, most often calculate_release_details.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.