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
81 commits sit in this repo's top risk tercile, which is 33% of the 243scored. 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.
Began deps-led, now leaning fix.
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 | baf2c870add new mobile app package for react native | seiferla | 5mo ago | +4.2M -0 | 100%Elevated | more lines added than baseline |
| 2 | 5ff6c380add frontend | seiferla | 6mo ago | +1.4M -0 | 100%Elevated | more lines added than baseline |
| 3 | 50948d57fix(deps): sync lockfile with nanoid ^3.3.18 | seiferla | 1w ago | +8.2K -1 | 98%Elevated | more lines added than baseline |
| 4 | 94913151build(deps): bump uuid | dependabot[bot] | 2mo ago | +5.4K -8.1K | 98%Elevated | more lines added than baseline |
| 5 | eb1f029fupdate npm version | seiferla | 3mo ago | +22.2K -0 | 98%Elevated | more lines added than baseline |
| 6 | c678d915Bump vite from 6.3.5 to 6.4.1 in /frontend | dependabot[bot] | 6mo ago | +3.9K -3.9K | 98%Elevated | more lines added than baseline |
| 7 | 3f152d27build(deps): bump the expo-sdk group across 1 directory with 15 updates | dependabot[bot] | 1w ago | +2.0K -963 | 97%Elevated | more lines added than baseline |
| 8 | 8a62486eupdate @xmldom/xmldom package version to 0.9.10 in package-lock.json | seiferla | 3mo ago | +5.0K -22.3K | 97%Elevated | more lines added than baseline |
| 9 | e7049f34feat(mobile): quick phrases for fast replies | seiferla | 2d ago | +1.2K -24 | 96%Elevated | more lines added than baseline |
| 10 | b389721afix(deps): keep react-native on 0.85.3, revert reanimated override attempt | seiferla | 1w ago | +969 -2.2K | 96%Elevated | more lines added than baseline |
| 11 | 59caf955build(deps): upgrade to Expo SDK 57 | seiferla | 1w ago | +732 -728 | 95%Elevated | more lines added than baseline |
| 12 | 3812864ffeat: add statistics page (activity, AAC insights, TTS usage) | seiferla | 2mo ago | +875 -7 | 95%Elevated | more lines added than baseline |
| 13 | 8606fb3cfeat: implement local audio caching for TTS playback | seiferla | 2mo ago | +371 -46 | 95%Elevated | more lines added than baseline |
| 14 | baed134eci: build signed Android APK/AAB in GitHub Actions | seiferla | 2mo ago | +359 -11 | 94%Elevated | more lines added than baseline |
| 15 | 906aeca1Add chat management features: pin, rename, and delete. Update Sidebar for grouped and contextual options. | seiferla | 5mo ago | +262 -8 | 94%Elevated | more lines added than baseline |
| 16 | 49cd020bchore: downgrade React and React-DOM to 19.2.3 and update several dependencies | seiferla | 2mo ago | +247 -393 | 93%Elevated | more lines added than baseline |
| 17 | 5a104f30Add TTS controls, auto-play, and message editing to Message component | Lars Seifert | 5mo ago | +197 -53 | 93%Elevated | more lines added than baseline |
| 18 | 5ea48e58feat: integrate cloud TTS with health check and local fallback | seiferla | 2mo ago | +216 -12 | 93%Elevated | more lines added than baseline |
| 19 | 9dba6f4eEnhance ChatArea: add fullscreen compose overlay, support Escape key to close overlay, implement auto-focus for textarea, and auto-play sent messages | Lars Seifert | 5mo ago | +152 -96 | 93%Elevated | more lines added than baseline |
| 20 | 8da1ec33feat: set up monitoring with Prometheus and Grafana | seiferla | 2mo ago | +246 -1 | 92%Elevated | more lines added than baseline |
| 21 | 2d776890chore: remove unused dependencies and update react-native-reanimated override | seiferla | 2mo ago | +166 -1.4K | 92%Elevated | more lines added than baseline |
| 22 | 41778200Refactor Message component: improve speech handling and update colors for better consistency. Update dependencies to include support for `react-native-web`. Adjust App.json slug and add `owner` field. | seiferla | 5mo ago | +159 -15 | 92%Elevated | more lines added than baseline |
| 23 | 6ff1a1bbtest: expand backend test coverage for TTS endpoints | seiferla | 2mo ago | +149 -27 | 91%Elevated | more lines added than baseline |
| 24 | d28caee4feat: implement SQLite-based persistence for chats and messages | seiferla | 1mo ago | +152 -0 | 90%Elevated | more lines added than baseline |
| 25 | 2702df90test: expand backend test coverage for connection handling and error scenarios | seiferla | 2mo ago | +136 -11 | 90%Elevated | more lines added than baseline |
| 26 | accfb71ffeat(share): add text and audio sharing functionality to messages | seiferla | 3w ago | +127 -17 | 90%Elevated | more lines added than baseline |
| 27 | 1a3c039aRefactor Sidebar component: improve code readability with consistent indentation and add user section at the bottom | seiferla | 5mo ago | +109 -100 | 89%Elevated | more lines added than baseline |
| 28 | e1f6187bbuild(deps): bump rollup | dependabot[bot] | 5mo ago | +103 -103 | 89%Elevated | more lines added than baseline |
| 29 | 4d7b7955feat: add support for editing messages in ChatArea modal | seiferla | 2mo ago | +94 -94 | 88%Elevated | more lines added than baseline |
| 30 | 9171cb24feat: add connection warm-up to improve TTS response time | seiferla | 2mo ago | +145 -68 | 88%Elevated | more lines added than baseline |
| 31 | 679791cbAdd copy-to-clipboard functionality to PhrasesPage | seiferla | 5mo ago | +93 -100 | 87%Elevated | more lines added than baseline |
| 32 | c8c2665dfeat: include voice and model in TTS cache keys and playback logic | seiferla | 2mo ago | +106 -33 | 87%Elevated | more lines added than baseline |
| 33 | 2645ccd6docs: update README with simplified description and revised structure | seiferla | 2mo ago | +77 -108 | 87%Elevated | more lines added than baseline |
| 34 | 0a364c2ctest: add integration tests for chat endpoints | seiferla | 1mo ago | +82 -3 | 86%Elevated | more lines added than baseline |
| 35 | 85e3de27refactor(PhrasesPage): improve phrase extraction and add speech synthesis functionality | seiferla | 6mo ago | +71 -49 | 86%Elevated | more lines added than baseline |
| 36 | 6021f0ffci(mobile): add PR check for mobile-app, limit Expo bumps to patches | seiferla | 1w ago | +75 -0 | 85%Elevated | more lines added than baseline |
| 37 | 806d44fcfix(sync): never drop existing local chats on first backend sync | seiferla | 1mo ago | +73 -11 | 85%Elevated | more lines added than baseline |
| 38 | b211912ffeat: switch TTS implementation to HTTP streaming endpoint | seiferla | 2mo ago | +79 -70 | 85%Elevated | more lines added than baseline |
| 39 | eb315438Add "Save" functionality in ChatArea and update UI for message management | seiferla | 3mo ago | +66 -20 | 85%Elevated | more lines added than baseline |
| 40 | ad6e978cbuild(deps): bump @expo/metro-runtime in /mobile-app | dependabot[bot] | 1w ago | +68 -15 | 84%Elevated | more lines added than baseline |
| 41 | 5ca22753Add backend websocket proxy tests | copilot-swe-agent[bot]copilotautonomous | 2mo ago | +77 -0 | 84%Elevated | more lines added than baseline |
| 42 | 3b0a141efix(mobile): keep file-based storage from crashing the web bundle | seiferla | 2d ago | +59 -15 | 83%Elevated | more lines added than baseline |
| 43 | 85d7a276feat: add chat synchronization utilities with backend and local caching | seiferla | 1mo ago | +66 -0 | 83%Elevated | more lines added than baseline |
| 44 | 1130d852ci: use build cache and optimize ABI selection in android-release workflow | seiferla | 2mo ago | +61 -31 | 83%Elevated | more lines added than baseline |
| 45 | ab29b1f0feat: add chat management endpoints and database lifecycle hooks | seiferla | 1mo ago | +60 -2 | 81%Elevated | more lines added than baseline |
| 46 | fe97e84edocs: update README to reflect TTS HTTP streaming, warm-up, and monitoring changes | seiferla | 2mo ago | +58 -41 | 81%Elevated | more lines added than baseline |
| 47 | e8660304fix: improve error handling in `tts_proxy` and add tests for edge cases | seiferla | 2mo ago | +58 -62 | 81%Elevated | more lines added than baseline |
| 48 | 7f6097cefeat: add scroll-to-latest button and improve scroll handling in ChatArea | seiferla | 2mo ago | +57 -3 | 80%Elevated | more lines added than baseline |
| 49 | 7bb1af51feat: add CI/CD workflow for backend deployment and update docker-compose | seiferla | 2mo ago | +64 -7 | 80%Elevated | more lines added than baseline |
| 50 | 5065c1d4refactor(grafana): update dashboard metrics to use `http_request_duration_seconds_count` | seiferla | 1mo ago | +57 -8 | 80%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.
seiferla/my-echo has 317 commits in its history from 5 contributors, the first of them Feb 8, 2026. In the last 90 days 25 files were touched, 121 times in total, most often main.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.