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
12 commits sit in this repo's top risk tercile, which is 32% of the 38scored. 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.7 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.
How this repo's commit mix shifts over time.
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 | 5c4d932ffeat(beta): initial v0.1 release - gaze-tracking pedagogy instrument with brick content model, typed event detection, live telemetry, and two starter lessons (gravity, recursion) | Mnehmos | 3mo ago | +2.8K -0 | 99%Elevated | more lines added than baseline |
| 2 | 6a089b35feat(ensemble): multi-head classifier — train multiple versions at once | Mnehmosclaudeassisted | 3mo ago | +542 -389 | 95%Elevated | more lines added than baseline |
| 3 | 6bd0c6c0feat(gaze-mode): add regression mode — predict viewport coords, hit-test | Mnehmosclaudeassisted | 3mo ago | +420 -210 | 95%Elevated | more lines added than baseline |
| 4 | be4ea95dPivot gaze pipeline to classification-first | Mnehmos | 3mo ago | +355 -152 | 89%Elevated | more lines added than baseline |
| 5 | 8a71a066feat(calibration): replace 9-point with per-brick classifier calibration | Mnehmosclaudeassisted | 3mo ago | +420 -91 | 89%Elevated | more lines added than baseline |
| 6 | c7a53dc6test(fixtures): synthetic landmark generator + DOM test harness | Mnehmosclaudeassisted | 3mo ago | +273 -0 | 84%Elevated | more lines added than baseline |
| 7 | f01ec944feat(features): geometric feature extraction for gaze classifier | Mnehmosclaudeassisted | 3mo ago | +297 -0 | 84%Elevated | more lines added than baseline |
| 8 | 1e9fd92ffeat(reader-cursor): mouse-driven reading + word-level tracking | Mnehmosclaudeassisted | 3mo ago | +347 -5 | 80%Elevated | more lines added than baseline |
| 9 | 2165909efeat(classifier): TensorFlow.js MLP for feature→brick classification | Mnehmosclaudeassisted | 3mo ago | +226 -0 | 78%Elevated | more lines added than baseline |
| 10 | 8c5ef2f9feat(calibration): grid method — viewport-fixed dots, no scroll | Mnehmosclaudeassisted | 3mo ago | +193 -9 | 72%Elevated | more lines added than baseline |
| 11 | 6e9f2be3docs: update PROJECT_KNOWLEDGE.md for v0.2 | Mnehmosclaudeassisted | 3mo ago | +189 -46 | 72%Elevated | more lines added than baseline |
| 12 | 9cf74c79feat(face-landmarker): add MediaPipe Face Landmarker wrapper | Mnehmosclaudeassisted | 3mo ago | +189 -0 | 72%Elevated | more lines added than baseline |
| 13 | 0bad03e5feat(export): LLM-grade reading trace — word-level data + event sourcing | Mnehmosclaudeassisted | 3mo ago | +160 -27 | 64%Typical | more lines added than baseline |
| 14 | 2172a91dfeat(pagination): page field on bricks, no auto-scroll, tighter classifier gates | Mnehmosclaudeassisted | 3mo ago | +234 -60 | 64%Typical | more lines added than baseline |
| 15 | f8ca2e9adocs(handoff): add VALIDATION_HANDOFF.md for Vario | Mnehmosclaudeassisted | 3mo ago | +182 -0 | 64%Typical | more lines added than baseline |
| 16 | 7072dd8dfeat(gaze): rewrite pipeline to consume classifier output | Mnehmosclaudeassisted | 3mo ago | +140 -35 | 59%Typical | more lines added than baseline |
| 17 | 9182c1e9test(pipeline): integration test for Features → Classifier → Gaze | Mnehmosclaudeassisted | 3mo ago | +135 -0 | 57%Typical | more lines added than baseline |
| 18 | f405966ffeat(events): dwell-gated first_read + mouse-last-word + gaze override | Mnehmosclaudeassisted | 3mo ago | +108 -10 | 54%Typical | more lines added than baseline |
| 19 | d3341778test(features): unit tests for feature extraction + normalization | Mnehmosclaudeassisted | 3mo ago | +115 -0 | 51%Typical | more lines added than baseline |
| 20 | c8a90347test(classifier): unit tests for MLP build/train/predict/argmax | Mnehmosclaudeassisted | 3mo ago | +97 -0 | 47%Typical | more lines added than baseline |
| 21 | 7e5f6fdcfeat(deps): remove WebGazer, add TensorFlow.js CDN + v0.2 module slots | Mnehmosclaudeassisted | 3mo ago | +100 -2 | 47%Typical | more lines added than baseline |
| 22 | d93600d8docs: update README for v0.2 architecture | Mnehmosclaudeassisted | 3mo ago | +68 -23 | 42%Typical | more lines added than baseline |
| 23 | ee4660e9refactor(app): wire v0.2 pipeline into main loop, drop WebGazer | Mnehmosclaudeassisted | 3mo ago | +66 -36 | 42%Typical | more lines added than baseline |
| 24 | 081b8605feat(calibration): scanning-dot collection + speed trims | Mnehmosclaudeassisted | 3mo ago | +63 -11 | 38%Typical | more lines added than baseline |
| 25 | 9b1847f3feat(theme): cream-white lighting mode — monitor as diffused key light | Mnehmosclaudeassisted | 3mo ago | +75 -7 | 36%Typical | more lines added than baseline |
| 26 | 278fa083fix(calibration): dot-placement timing + persistent webcam preview | Mnehmosclaudeassisted | 3mo ago | +68 -24 | 33%Below typical | more lines added than baseline |
| 27 | 0052b8affeat(config): add v0.2 tunables for MediaPipe, classifier, calibration | Mnehmosclaudeassisted | 3mo ago | +52 -15 | 30%Below typical | more lines added than baseline |
| 28 | e8fc7a04feat(gaze): EMA smoothing + denser grid for side-eye accuracy | Mnehmosclaudeassisted | 3mo ago | +44 -10 | 26%Below typical | more lines added than baseline |
| 29 | 423f9497feat(calibration): smooth bell-envelope dot animation | Mnehmosclaudeassisted | 3mo ago | +45 -59 | 26%Below typical | more lines added than baseline |
| 30 | b1e617bcfeat(calibration): stationary dots, denser grid, realistic threshold | Mnehmosclaudeassisted | 3mo ago | +32 -68 | 21%Below typical | more lines added than baseline |
| 31 | dcf1d799chore(v0.1): commit pending favicon + MediaPipe CDN patch before v0.2 | Mnehmosclaudeassisted | 3mo ago | +59 -6 | 21%Below typical | more lines added than baseline |
| 32 | 61a511b3feat(telemetry): surface classifier confidence and head pose | Mnehmosclaudeassisted | 3mo ago | +36 -0 | 17%Below typical | more lines added than baseline |
| 33 | 506ad8cbfeat(export): include classifier + normalization metadata in v0.2 export | Mnehmosclaudeassisted | 3mo ago | +13 -3 | 14%Below typical | more lines added than baseline |
| 34 | b43d2d33fix(deps): bump @mediapipe/tasks-vision to 0.10.34 | Mnehmosclaudeassisted | 3mo ago | +2 -2 | 12%Below typical | fewer lines added than baseline |
| 35 | 95b22a4bfix(calibration): second stale accuracy reference in return statement | Mnehmosclaudeassisted | 3mo ago | +1 -1 | 7%Below typical | fewer lines added than baseline |
| 36 | 2cc158a9fix(calibration): validation threshold check used the old var name | Mnehmosclaudeassisted | 3mo ago | +1 -1 | 7%Below typical | fewer lines added than baseline |
| 37 | b8d4daedfix(calibration): rename leftover contentBricks → contentBricksAll | Mnehmosclaudeassisted | 3mo ago | +1 -1 | 7%Below typical | fewer lines added than baseline |
| 38 | f436cae6chore(css): remove dead WebGazer-specific selectors from app.css | Mnehmosclaudeassisted | 3mo ago | +0 -19 | 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 38 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.
Mnehmos/mnehmos.oculus.webapp has 38 commits in its history from 1 contributor, the first of them Apr 19, 2026. No file in the repository changed in the last 90 days. Every commit is scored for change risk from its size, spread and the history of the files it touches.