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
14 commits sit in this repo's top risk tercile, which is 33% of the 42scored. 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 9.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.
Began other-led, now leaning chore.
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 | 7ed8e32bsecurity: close audit findings and harden public surface (#39) | Efidripyclaudeassisted | 1w ago | +29.3K -9.8K | 95%Elevated | more lines added than baseline |
| 2 | 34b346d9installer: modular runtime, deployment tooling, and windows automation | Efidripy | 5mo ago | +16.5K -6.6K | 95%Elevated | more lines added than baseline |
| 3 | abc3a1d7backend: adaptive runtime and modular architecture | Efidripy | 5mo ago | +6.1K -18 | 95%Elevated | more lines added than baseline |
| 4 | b334823einstaller: install flow, panel routing, and realtime management foundation | Efidripy | 5mo ago | +13.3K -347 | 95%Elevated | more lines added than baseline |
| 5 | b63c9c64feat(platform): expand monitoring and frontend runtime improvements | Efidripy | 4mo ago | +6.7K -3.2K | 87%Elevated | more lines added than baseline |
| 6 | d5e57d32installer: loki, promtail, AdGuard metrics, and smoke-test stabilization | Efidripy | 5mo ago | +5.2K -827 | 87%Elevated | more lines added than baseline |
| 7 | 721b83f3installer: monitoring stack and security hardening | Efidripy | 5mo ago | +5.3K -885 | 87%Elevated | more lines added than baseline |
| 8 | 3c9f9085docs: move core guides to docs directory | Efidripy | 4mo ago | +1.3K -6 | 82%Elevated | more lines added than baseline |
| 9 | ad63cd31ui: operator workflow polish and filtering controls | Efidripy | 5mo ago | +1.0K -700 | 79%Elevated | more lines added than baseline |
| 10 | d05048b5installer: pre-release hardening, backup compatibility, and read-only node support | Efidripy | 5mo ago | +1.8K -373 | 79%Elevated | more lines added than baseline |
| 11 | 95ab0856fix installer reporting and hard cleanup flow | Efidripy | 4mo ago | +789 -98 | 75%Elevated | more lines added than baseline |
| 12 | 9640150fchore: sync installer workflow fixes | Efidripy | 4mo ago | +771 -57 | 73%Elevated | more lines added than baseline |
| 13 | f5118cf6panel: multi-server client and subscription management | Efidripy | 5mo ago | +747 -14 | 70%Elevated | more lines added than baseline |
| 14 | f8a8dd10installer: foundation and baseline | Efidripy | 6mo ago | +479 -0 | 68%Elevated | more lines added than baseline |
| 15 | 4e159bfafeat: add bearer token authentication support for node management | Efidripy | 2mo ago | +470 -66 | 65%Typical | more lines added than baseline |
| 16 | 1ea82d79docs: streamline README and split install/update/api/ops docs | Efidripy | 4mo ago | +235 -492 | 63%Typical | more lines added than baseline |
| 17 | f381794dchore(deps): bump @tailwindcss/vite from 4.1.12 to 4.3.3 in /frontend (#44) | dependabot[bot] | 1w ago | +194 -215 | 61%Typical | more lines added than baseline |
| 18 | 493e9be2Harden fail2ban coverage across install/update flows and add critical validation gate | Efidripy | 4mo ago | +112 -0 | 57%Typical | more lines added than baseline |
| 19 | 2f12ca5erefactor: route advanced install directly to launcher | Efidripy | 4mo ago | +116 -1 | 57%Typical | more lines added than baseline |
| 20 | ed75fcabfeat(installer): refine 3.0 minimal x-ui flow and random landing templates | Efidripy | 4mo ago | +167 -9 | 54%Typical | more lines added than baseline |
| 21 | 3271b95afix(workflows): self-heal nginx mime.types before reload | Efidripy | 4mo ago | +80 -0 | 50%Typical | more lines added than baseline |
| 22 | 2efc3891fix(installer): self-heal nginx mime.types for panel assets | Efidripy | 4mo ago | +82 -0 | 50%Typical | more lines added than baseline |
| 23 | ebdf9f40docs(readme): remove screenshots and local knowledge index references | Efidripy | 4mo ago | +82 -33 | 46%Typical | more lines added than baseline |
| 24 | 3a9fbd5eHarden nginx/xui installer and expand sample template pool to 30 | Efidripy | 4mo ago | +107 -4 | 44%Typical | more lines added than baseline |
| 25 | eddf3a70Harden installer input sanitization and progress reporting | Efidripy | 4mo ago | +47 -3 | 42%Typical | more lines added than baseline |
| 26 | 713b7748Improve advanced menu numbering UX | Efidripy | 4mo ago | +38 -8 | 39%Typical | more lines added than baseline |
| 27 | 4d9d6338fix(installer): restore proper MIME types and harden Grafana startup | Efidripy | 4mo ago | +37 -0 | 36%Typical | more lines added than baseline |
| 28 | 049d4d64ci: restore backend and shellcheck checks | Efidripy | 5mo ago | +38 -19 | 36%Typical | more lines added than baseline |
| 29 | 1f544a4dfix(installer): require manual xui domains and purge malformed nginx site entries | Efidripy | 4mo ago | +33 -17 | 32%Below typical | more lines added than baseline |
| 30 | 779dc9cefix(installer): keep 3x-ui creds and URL in final report | Efidripy | 4mo ago | +28 -0 | 30%Below typical | more lines added than baseline |
| 31 | a670ff2bfix(installer): avoid silent hangs on service restart | Efidripy | 4mo ago | +25 -2 | 27%Below typical | more lines added than baseline |
| 32 | 4ec339a2Fix installer advanced menu rendering and subpath API checks | Efidripy | 4mo ago | +29 -21 | 25%Below typical | more lines added than baseline |
| 33 | 158dba57chore(deps): bump tailwindcss from 4.1.12 to 4.3.3 in /frontend (#49) | dependabot[bot] | 1w ago | +17 -5 | 23%Below typical | more lines added than baseline |
| 34 | ff8d0c3achore(deps): bump the npm_and_yarn group across 1 directory with 2 updates (#34) | dependabot[bot] | 4mo ago | +6 -6 | 20%Below typical | fewer lines added than baseline |
| 35 | 57b54547chore(deps-dev): bump vite (#35) | dependabot[bot] | 2mo ago | +5 -5 | 17%Below typical | fewer lines added than baseline |
| 36 | a2101e31fix: exit launcher gracefully when no TTY and automation exhausted | Efidripy | 4mo ago | +6 -0 | 17%Below typical | fewer lines added than baseline |
| 37 | cd409366chore: ignore local adguard/nginx helper scripts | Efidripy | 4mo ago | +5 -0 | 12%Below typical | fewer lines added than baseline |
| 38 | f24d41b5feat(workflows): add mime.types injection status to report summary | Efidripy | 4mo ago | +5 -1 | 12%Below typical | fewer lines added than baseline |
| 39 | 96279d8bFix installer prompt stdout leakage and menu input handling | Efidripy | 4mo ago | +4 -4 | 8%Below typical | fewer lines added than baseline |
| 40 | 1b6be283Update screens.md | Efidripy | 4mo ago | +3 -0 | 6%Below typical | fewer lines added than baseline |
| 41 | f50c165dchore: keep knowledge index local-only | Efidripy | 4mo ago | +3 -1 | 4%Below typical | fewer lines added than baseline |
| 42 | 299bc05dInitial plan (#36) | Copilotcopilotautonomous | 2mo ago | +0 -0 | 1%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 42 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.
efidripy/multiserversubgen has 42 commits in its history from 3 contributors, the first of them Feb 8, 2026. In the last 90 days 136 files were touched, 140 times in total, most often nodes.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.