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
40 commits sit in this repo's top risk tercile, which is 33% of the 120scored. 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 6.9 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 | 0730cf87Add 2048 and rogue examples, generate all obj and sym files and improve documentation | Stefan Fleiter | 8mo ago | +1.6K -36 | 100%Elevated | more lines added than baseline |
| 2 | 53c96a4cUse crossterm instead of termios for windows compatibility | Stefan Fleiter | 8mo ago | +466 -177 | 99%Elevated | more lines added than baseline |
| 3 | 64cfffffTest trap routines and move test_helpers in own file | Stefan Fleiter | 8mo ago | +296 -81 | 98%Elevated | more lines added than baseline |
| 4 | 59a8d641Dispatch instructions to methods that execute them, implementation for add plus scaffolding | Stefan Fleiter | 9mo ago | +348 -84 | 97%Elevated | more lines added than baseline |
| 5 | 910a132bImplement memory mapped io for Keyboard supporting KBSR and KBDR | Stefan Fleiter | 8mo ago | +263 -157 | 95%Elevated | more lines added than baseline |
| 6 | 047fde7eMove all opcodes to a separate file | Stefan Fleiter | 9mo ago | +184 -195 | 95%Elevated | more lines added than baseline |
| 7 | 19b334efRefactor: Move Instruction in own file | Stefan Fleiter | 9mo ago | +146 -140 | 95%Elevated | more lines added than baseline |
| 8 | e197ce15Refactoring of Register for safer usage and better ergonomics | Stefan Fleiter | 8mo ago | +136 -122 | 93%Elevated | more lines added than baseline |
| 9 | 564dda35Implement LEA and TRAP opcodes as well as PUTS and HALT trap routines | Stefan Fleiter | 8mo ago | +171 -41 | 93%Elevated | more lines added than baseline |
| 10 | b5e865eeImplement GitHub release process | Stefan Fleiter | 7mo ago | +163 -25 | 91%Elevated | more lines added than baseline |
| 11 | f3f4516bPrevent tests from capturing to avoid crossterm::cursor::position() hang forever. | Stefan Fleiter | 8mo ago | +146 -50 | 91%Elevated | more lines added than baseline |
| 12 | 9006a417Move trap routines in own file | Stefan Fleiter | 8mo ago | +103 -72 | 91%Elevated | more lines added than baseline |
| 13 | 7af48baaImplement LD and BR opcodes and protect memory access by assertions for valid index | Stefan Fleiter | 8mo ago | +120 -34 | 91%Elevated | more lines added than baseline |
| 14 | ae5d3a3bAdd more code documentation | Stefan Fleiter | 8mo ago | +114 -9 | 88%Elevated | more lines added than baseline |
| 15 | 1175ebcdFix assumption of address which is a u16 index and not byte-based, also add registers | Stefan Fleiter | 9mo ago | +108 -22 | 88%Elevated | more lines added than baseline |
| 16 | abc63d1bci: Check commits to ensure they match conventional commits semantics | Stefan Fleiter | 7mo ago | +122 -0 | 87%Elevated | more lines added than baseline |
| 17 | f18a81caFix pc_poffset for negative values, make code clearer regarding binary or decimal representation. | Stefan Fleiter | 8mo ago | +121 -57 | 86%Elevated | more lines added than baseline |
| 18 | 50b84cbcMove Emulator into own module | Stefan Fleiter | 9mo ago | +90 -92 | 86%Elevated | more lines added than baseline |
| 19 | 9ce1e744Implement ST, STI and STR opcodes | Stefan Fleiter | 8mo ago | +83 -26 | 84%Elevated | more lines added than baseline |
| 20 | 0ce8b2eaEase Debugging by moving Register from u16 to a Newtype which results in readable assertions | Stefan Fleiter | 9mo ago | +85 -25 | 84%Elevated | more lines added than baseline |
| 21 | f618df2fAlso build on ubuntu arm | Stefan Fleiter | 7mo ago | +74 -27 | 83%Elevated | more lines added than baseline |
| 22 | 2b823069Implement parsing from Instructions to OpCodes, remove unsafe code again and replace with same amount of safe code | Stefan Fleiter | 9mo ago | +94 -45 | 83%Elevated | more lines added than baseline |
| 23 | dda80af7Split errors by when they happen: load vs execute | Stefan Fleiter | 8mo ago | +68 -42 | 80%Elevated | more lines added than baseline |
| 24 | 16fcb70eReduce possible error cases by only allowing to instantiate an Emulator with a program | Stefan Fleiter | 8mo ago | +89 -147 | 80%Elevated | more lines added than baseline |
| 25 | df7cd87cUse thiserror for error handling | Stefan Fleiter | 9mo ago | +92 -11 | 80%Elevated | more lines added than baseline |
| 26 | ff91b95fMake this crate provide a lib part and document things | Stefan Fleiter | 9mo ago | +66 -15 | 80%Elevated | more lines added than baseline |
| 27 | a5dda161Implement JSR, JMP and RET opcodes | Stefan Fleiter | 8mo ago | +70 -6 | 77%Elevated | more lines added than baseline |
| 28 | 889da506Implement AND and NOT | Stefan Fleiter | 9mo ago | +70 -7 | 77%Elevated | more lines added than baseline |
| 29 | 675a9ca4Alow to load programms from disk and add first examples | Stefan Fleiter | 9mo ago | +82 -27 | 77%Elevated | more lines added than baseline |
| 30 | 3f986708Fix bug for decimal_to_twos_complement for i16::MIN and add tests | Stefan Fleiter | 8mo ago | +86 -4 | 75%Elevated | more lines added than baseline |
| 31 | 85f56fe6Auto-update README.md | GitHub Action | 8mo ago | +56 -0 | 75%Elevated | more lines added than baseline |
| 32 | 38cde1daImplement GETC and OUT trap routines and possibility to set terminal to raw via termios | Stefan Fleiter | 8mo ago | +88 -5 | 73%Elevated | more lines added than baseline |
| 33 | 14e69d3eImplement sign extension to handle negative values | Stefan Fleiter | 9mo ago | +68 -22 | 73%Elevated | more lines added than baseline |
| 34 | 3e54e3e9Move Memory in own module as preparation for adding Registers | Stefan Fleiter | 9mo ago | +57 -56 | 73%Elevated | more lines added than baseline |
| 35 | 30d8e31cMove memory representation to u16 matching ISA and add tests | Stefan Fleiter | 9mo ago | +60 -15 | 71%Elevated | more lines added than baseline |
| 36 | 91595ab4Instantiate keyboard poller thread only once to avoid leaking blocked threads with every execution | Stefan Fleiter | 8mo ago | +62 -67 | 70%Elevated | more lines added than baseline |
| 37 | b71c4164Implement loading a program | Stefan Fleiter | 9mo ago | +54 -2 | 70%Elevated | more lines added than baseline |
| 38 | 0699a355Reorganize GitHub workflows for consistent naming and split rustdoc generation in own file | Stefan Fleiter | 8mo ago | +59 -35 | 68%Elevated | more lines added than baseline |
| 39 | ccedaf0cImplement opcode LDR and LDI | Stefan Fleiter | 8mo ago | +50 -13 | 68%Elevated | more lines added than baseline |
| 40 | 5e1dbd2dImprove documentation, examples and logic around invalid opcodes | Stefan Fleiter | 8mo ago | +61 -66 | 68%Elevated | more lines added than baseline |
| 41 | 2db69dcfSplit getting instructions from loading program to prepare for execution | Stefan Fleiter | 9mo ago | +48 -24 | 66%Typical | more lines added than baseline |
| 42 | a0d4f391Add MSRV to README.md | Stefan Fleiter | 8mo ago | +48 -1 | 65%Typical | more lines added than baseline |
| 43 | f35dbd3dBring back support for interrupting the programm with Ctrl-C | Stefan Fleiter | 8mo ago | +39 -12 | 64%Typical | more lines added than baseline |
| 44 | 8d028ae6Implement the IN trap routine | Stefan Fleiter | 8mo ago | +53 -33 | 64%Typical | more lines added than baseline |
| 45 | b1d730d4Format files with rustfmt | Stefan Fleiter | 9mo ago | +49 -30 | 64%Typical | more lines added than baseline |
| 46 | 7e93c388Split instructions in opcode, dr, and pc_offset | Stefan Fleiter | 9mo ago | +36 -9 | 62%Typical | more lines added than baseline |
| 47 | 0f1b098eProject start | Stefan Fleiter | 9mo ago | +50 -0 | 62%Typical | more lines added than baseline |
| 48 | 4251d3ffImplement opcode PUTSP | Stefan Fleiter | 8mo ago | +54 -16 | 60%Typical | more lines added than baseline |
| 49 | 5856a459Github action for audit/checking dependencies for sec issues | Stefan Fleiter | 9mo ago | +32 -0 | 59%Typical | more lines added than baseline |
| 50 | d5ea0aa9Do not swap endianness but interprete loaded program Vec as u16 directly | Stefan Fleiter | 9mo ago | +34 -32 | 59%Typical | 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 120 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.
Repowise tracks change history across 21 files in sfleiter/lc3-emulator. 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.