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
3,304 commits sit in this repo's top risk tercile, which is 33% of the 10,000scored. 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 8.1 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 fix-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 | Risk | Top driver |
|---|---|---|---|---|---|---|
| 1 | afb7bf6afeat(skills): bundle docx, xlsx, and pdf office skills; refresh powerpoint (#68595) | Teknium | 4w ago | +31.7K -1.8K | 100%Elevated | more lines added than baseline |
| 2 | d516496cfix: track bundled plugin.js sources past the tsc-artifact gitignore | Teknium | 6d ago | +6.5K -0 | 100%Elevated | more lines added than baseline |
| 3 | 461c4939Port from code-yeongyu/oh-my-openagent: ast-grep structural search/codemod optional skill | Teknium | 1w ago | +3.9K -0 | 100%Elevated | more lines added than baseline |
| 4 | 1a3a9de6refactor(gateway): extract run_sync onto TurnRunner (completes the TurnContext seam; AST-identical body) | teknium1 | 3w ago | +18.0K -17.9K | 100%Elevated | more lines added than baseline |
| 5 | 6b81590ctest: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions | Teknium | 3w ago | +6.2K -269.6K | 100%Elevated | more lines added than baseline |
| 6 | f67ca220refactor(tui): split @method handlers into methods_* modules (mechanical move, registry set-equality verified) | teknium1 | 3w ago | +9.4K -9.3K | 100%Elevated | more lines added than baseline |
| 7 | 927463efrefactor: extract update pipeline to hermes_cli/update_cmd.py (mechanical move) | teknium1 | 3w ago | +6.3K -6.2K | 100%Elevated | more lines added than baseline |
| 8 | 1fe06115refactor: extract DEFAULT_CONFIG + OPTIONAL_ENV_VARS to config_defaults.py (pure data move) | teknium1 | 3w ago | +4.2K -4.2K | 100%Elevated | more lines added than baseline |
| 9 | 14bed44cReapply "feat(observability): integrate NeMo Relay runtime and shared metrics" | Alex Fournier | 3w ago | +14.4K -2.5K | 100%Elevated | more lines added than baseline |
| 10 | f13f8451feat(state): messages_fts_cjk — CJK-bigram index on the v23 external-content layout | Teknium | 4w ago | +15.6K -22 | 100%Elevated | more lines added than baseline |
| 11 | d2967490feat(desktop): billing settings tab (#61054) | Siddharth Balyan | 1mo ago | +4.1K -0 | 100%Elevated | more lines added than baseline |
| 12 | b51fbc73feat(tui+cli): change your Nous plan from the terminal (/subscription, /topup, terminal-billing UX) (#51639) | Siddharth Balyan | 1mo ago | +8.4K -1.4K | 100%Elevated | more lines added than baseline |
| 13 | a340d0adfeat(desktop): add isolated SSH transport primitives | yoniebans | 1mo ago | +3.5K -0 | 100%Elevated | more lines added than baseline |
| 14 | 00a36831fix: update package-lock.json | ethernet8023 | 1mo ago | +12.7K -12.7K | 100%Elevated | more lines added than baseline |
| 15 | 63a9bde7feat(desktop): layout-tree renderer — splits, zones, pointer drag-session, tab strip | Brooklyn Nicholson | 1mo ago | +4.6K -954 | 100%Elevated | more lines added than baseline |
| 16 | c2828f2bfeat(skills): add security/unbroker (autonomous data-broker removal) | SHL0MS | 1mo ago | +6.7K -0 | 100%Elevated | more lines added than baseline |
| 17 | 488ae376feat(desktop): render backend-authoritative projects sidebar | Brooklyn Nicholson | 1mo ago | +3.9K -1.2K | 100%Elevated | more lines added than baseline |
| 18 | 366d8814feat(desktop): bundle Bot Mode (hermes-bots) as a built-in, default-on plugin | Teknium | 6d ago | +3.1K -6 | 100%Elevated | more lines added than baseline |
| 19 | 4588126bfix(desktop): bound inflight journal persistence (#63047) | Eugeniusz Gilewski | 1w ago | +3.1K -127 | 100%Elevated | more lines added than baseline |
| 20 | acaafcc6fix(cron): make immediate execution race-safe | Evgenii | 1w ago | +2.9K -134 | 100%Elevated | more lines added than baseline |
| 21 | fad88cf1feat: extend clean-room office skills toward full parity | Teknium | 2w ago | +4.2K -127 | 100%Elevated | more lines added than baseline |
| 22 | 51570f4dfeat: replace Anthropic office document skills with clean-room MIT implementations | Teknium | 2w ago | +4.4K -50.4K | 100%Elevated | more lines added than baseline |
| 23 | 68391930perf(tui): bound scroll rendering and preserve anchors | Gabriel Lesperance | 2w ago | +2.6K -314 | 100%Elevated | more lines added than baseline |
| 24 | 41c406e1feat(a2a): v1.0 upgrade + full code review fixes | Kevin (OpenClaw Bot) | 2w ago | +2.5K -1.8K | 100%Elevated | more lines added than baseline |
| 25 | f88ed6c7fix: fix @nousresearch/ui version, update to npm 12 | ethernet8023 | 3w ago | +6.9K -2.4K | 100%Elevated | more lines added than baseline |
| 26 | 79e7adaefeat(desktop): Kanban — dashboard-parity board plugin on the SDK | Brooklyn Nicholson | 3w ago | +3.3K -1 | 100%Elevated | more lines added than baseline |
| 27 | 011ec451refactor(web): extract sessions/mcp/skills/tools routes to APIRouter modules (wave 2; route-table equality verified) | teknium1 | 3w ago | +2.6K -2.1K | 100%Elevated | more lines added than baseline |
| 28 | 847e401bfeat(computer_use): align cua-driver 0.9 contracts | Francesco Bonacci | 3w ago | +3.3K -143 | 100%Elevated | more lines added than baseline |
| 29 | 21c7ae85refactor: split SessionDB into Search/Schema/Portability mixins (mechanical move, ~2.9K LOC out of hermes_state.py) | teknium1 | 3w ago | +3.9K -3.7K | 100%Elevated | more lines added than baseline |
| 30 | 3a4aa2f8feat(gateway): streaming TTS adapter contract and consumer (#60671) | Carl Taylor | 3w ago | +1.8K -2 | 100%Elevated | more lines added than baseline |
| 31 | 21cc643abench: adversarial 830-tool gauntlet — confusion clusters, type-aware error mocks, strict scoring | teknium1 | 3w ago | +4.5K -0 | 100%Elevated | more lines added than baseline |
| 32 | 3e28eaccfeat(telemetry): local-first telemetry & observability | emozilla | 4w ago | +3.8K -3 | 100%Elevated | more lines added than baseline |
| 33 | 7dd2b2dcfeat(desktop): add "Connect to existing Hermes" option to first-run onboarding | cat-that's-fat | 4w ago | +2.0K -47 | 100%Elevated | more lines added than baseline |
| 34 | 397e9fc1Reapply "Merge pull request #30179 from NousResearch/feat/iron-proxy" | teknium1 | 4w ago | +8.4K -29 | 100%Elevated | more lines added than baseline |
| 35 | 60ec6a3bfeat(desktop): native in-app downgrade — chargeless preview → schedule → undo (#68761) | Siddharth Balyan | 4w ago | +1.8K -642 | 100%Elevated | more lines added than baseline |
| 36 | 58d75ec5feat(ui-tui): widget-grid 2-axis layout engine + overlay primitives (#20379 rebase) | Brooklyn Nicholson | 4w ago | +2.4K -9 | 100%Elevated | more lines added than baseline |
| 37 | faa3bce6style(desktop): satisfy merged eslint/prettier config | yoniebans | 4w ago | +2.4K -655 | 100%Elevated | more lines added than baseline |
| 38 | b9f82ed3ci: live-updating PR review comment with structured job statuses | ethernet8023 | 4w ago | +2.7K -328 | 100%Elevated | more lines added than baseline |
| 39 | 3bd338d2feat(observability): add Relay shared metrics pipeline | Alex Fournier | 4w ago | +2.8K -205 | 100%Elevated | more lines added than baseline |
| 40 | f57157a1fix(gateway): recover Discord websocket and event-loop stalls | StellarisW | 1mo ago | +2.4K -198 | 100%Elevated | more lines added than baseline |
| 41 | 7d27a31cfeat(dashboard): isolate turns in compute host (#65895) | brooklyn! | 1mo ago | +3.8K -39 | 100%Elevated | more lines added than baseline |
| 42 | 0f922002feat(desktop): contribution controller, surfaces, and wiring | Brooklyn Nicholson | 1mo ago | +2.6K -0 | 100%Elevated | more lines added than baseline |
| 43 | c7103c63feat(desktop): CLI/dashboard parity — skills hub, MCP test/toggle/catalog, maintenance ops, log filters (#57441) | Teknium | 1mo ago | +2.7K -106 | 100%Elevated | more lines added than baseline |
| 44 | 7ff6908arefactor(desktop): split thread.tsx god file into focused modules | Brooklyn Nicholson | 1mo ago | +2.0K -1.8K | 100%Elevated | more lines added than baseline |
| 45 | dec44994feat(desktop): Memory Graph — playable radial timeline of memories + skills | Brooklyn Nicholson | 1mo ago | +4.1K -564 | 100%Elevated | more lines added than baseline |
| 46 | ad978ed9feat(egress): iron-proxy credential-injection firewall for sandboxes | Teknium | 1mo ago | +7.5K -29 | 100%Elevated | more lines added than baseline |
| 47 | 62fe9fd1style(desktop,tui): fix all lint/type/formatting issues | Brooklyn Nicholson | 1mo ago | +3.0K -1.8K | 100%Elevated | more lines added than baseline |
| 48 | 68680db1feat(desktop): add Codex-style review pane | Brooklyn Nicholson | 1mo ago | +2.2K -147 | 100%Elevated | more lines added than baseline |
| 49 | 743985bffeat(pets): Pokédex generate UI — overlay, animated egg, hatch FX, manage | Brooklyn Nicholson | 1mo ago | +2.4K -27 | 100%Elevated | more lines added than baseline |
| 50 | 32f837adfeat(pets): prompt → atlas sprite-generation engine | Brooklyn Nicholson | 1mo ago | +2.0K -1 | 100%Elevated | more 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 200 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.
schluegge/hermit has 23,468 commits in its history from 2,760 contributors, the first of them Jul 23, 2025. In the last 90 days 6,370 files were touched, 32,797 times in total, most often run.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.