repowiserepowise
Sign in
sfleiter/lc3-emulator
OverviewDocsArchitectureKnowledge GraphFilesCode HealthRefactoring

People & History

CommitsContributorsDecisions
ChatPro
Stats
repowiserepowise
ExplorePricingDocs
Sign inIndex repoIndex your repo free
repowisesfleiter/lc3-emulator

Commits

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

40of 120 scored

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.

Fix commits76%Commits whose subject reads as a bug fix rather than new work.Change diffusion0.77bitsShannon entropy of a commit's churn across its files. Zero is a single file, and every extra bit is a doubling of how widely the change spread.Review threshold6.9out of 10Score a commit has to clear to land in this repo's top tercile.

How the work changed shape

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.

Feature22%
Fix4%
Refactor5%
Docs10%
Test12%
Deps11%
Chore11%
Other26%

Review-priority queue

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

How the score behaves here

Change risk →

Two views of the same model: where the cuts fall, and what commit shape lands you above them.

Score distribution

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.

012typical ↑elevated ↑0.05.010.0Change-risk score →
Below typical
Typical
Elevated

Size against diffusion

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.

1101001,000Lines changed (log) →0.02.9Diffusion →
Below typical40
Typical40
Elevated40

Commit history for sfleiter/lc3-emulator

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.