repowiserepowise
Sign in
niklasvonm/ocr-stringdist
OverviewDocsArchitectureKnowledge GraphFilesCode HealthRefactoring

People & History

CommitsContributorsDecisions
ChatPro
Stats
repowiserepowise
ExplorePricingDocs
Sign inIndex repoIndex your repo free
repowiseniklasvonm/ocr-stringdist

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

24of 72 scored

24 commits sit in this repo's top risk tercile, which is 33% of the 72scored. 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 7.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.

Fix commits710%Commits whose subject reads as a bug fix rather than new work.Change diffusion0.90bitsShannon 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 threshold7.3out 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 feature-led, now leaning deps.

Feature21%
Fix10%
Refactor6%
Docs29%
Test3%
Deps11%
Chore6%
Other15%

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
03a64054Transitivity (#13)
Niklas von Moers
2mo ago+2.5K -1.3K
99%Elevated
more lines added than baseline
2
36d57bd7feat: add optional cost maps for insertion and deletion
Patrick Wagner
1y ago+1.8K -429
98%Elevated
more lines added than baseline
3
a7da5095upgrade dependencies
Niklas von Moers
2mo ago+821 -1.1K
96%Elevated
more lines added than baseline
4
1f9f067cupgrade packages
Niklas von Moers
2mo ago+1.1K -434
96%Elevated
more lines added than baseline
5
3370df8drelease version 1.0.0 (#9)
Niklas von Moers
10mo ago+739 -581
93%Elevated
more lines added than baseline
6
5a051cb5init
Niklas von Moers
1y ago+763 -0
93%Elevated
more lines added than baseline
7
b54f88ecFeat: Explain Edit Path (#3)
Niklas von Moers
11mo ago+735 -370
90%Elevated
more lines added than baseline
8
28d9764aadd GitHub pages documentation
Niklas von Moers
1y ago+710 -1
90%Elevated
more lines added than baseline
9
1adae93badd uv, mypy
Niklas von Moers
1y ago+682 -9
90%Elevated
more lines added than baseline
10
ecce55cbfix: multiple bugfixes and improvements for cost learning
Niklas von Moers
10mo ago+258 -74
86%Elevated
more lines added than baseline
11
c79b848cfeat: learn costs (#5)
Niklas von Moers
10mo ago+353 -16
86%Elevated
more lines added than baseline
12
8a2cb7befeat: add batch calculation, improve docs
Niklas von Moers
1y ago+352 -24
83%Elevated
more lines added than baseline
13
53f2c711feat: support substitution of multiple characters at once
Niklas von Moers
1y ago+362 -159
83%Elevated
more lines added than baseline
14
49d9cc65add unittests for rust-python-interface
Niklas von Moers
10mo ago+312 -4
81%Elevated
more lines added than baseline
15
e9f4335aupdate documentation
Niklas von Moers
1y ago+139 -39
80%Elevated
more lines added than baseline
16
fd79a650improve custom types
Niklas von Moers
1y ago+117 -51
78%Elevated
more lines added than baseline
17
d114da8cfeat: add find_best_candidate function
Niklas von Moers
1y ago+141 -10
78%Elevated
more lines added than baseline
18
324fac24calculate max_token_characters instead of having to supply it
Niklas von Moers
1y ago+154 -150
75%Elevated
more lines added than baseline
19
727bb529add ruff config
Niklas von Moers
1y ago+88 -0
75%Elevated
more lines added than baseline
20
f4020dfeconfigure default cost map in Python
Niklas von Moers
1y ago+104 -142
73%Elevated
more lines added than baseline
21
e617ee9brefactor
Niklas von Moers
1y ago+73 -75
71%Elevated
more lines added than baseline
22
21425f77add max_token_characters argument for control over speed/substitution token length
Niklas von Moers
1y ago+105 -44
71%Elevated
more lines added than baseline
23
3ec1009btest coverage
Niklas von Moers
1y ago+94 -2
69%Elevated
more lines added than baseline
24
e0b2c960add documentation, license
Niklas von Moers
1y ago+70 -1
67%Elevated
more lines added than baseline
25
fdb0e112update documentation
Niklas von Moers
1y ago+62 -7
65%Typical
more lines added than baseline
26
33effbc6refactor
Niklas von Moers
1y ago+51 -43
65%Typical
more lines added than baseline
27
275b2bfefeat: optionally include matches in edit path
Niklas von Moers
10mo ago+59 -10
63%Typical
more lines added than baseline
28
7b80e387improve documentation
Niklas von Moers
11mo ago+54 -20
63%Typical
more lines added than baseline
29
485eb8e3fix ci/cd pipeline (#4)
Niklas von Moers
10mo ago+33 -16
60%Typical
more lines added than baseline
30
c961b238refactor
Niklas von Moers
1y ago+42 -23
60%Typical
more lines added than baseline
31
cef25a88drop support for PyPy, bugfix for Python 3.9 (#7)
Niklas von Moers
10mo ago+48 -56
58%Typical
more lines added than baseline
32
c3e6882fupdate default substitution costs
Niklas von Moers
1y ago+29 -7
56%Typical
more lines added than baseline
33
6efc4756docs: improve examples
Niklas von Moers
10mo ago+19 -13
53%Typical
more lines added than baseline
34
08e50ee8add release recipe
Niklas von Moers
11mo ago+20 -0
53%Typical
more lines added than baseline
35
830544d2docs: update readme
Niklas von Moers
1y ago+19 -0
53%Typical
more lines added than baseline
36
57ae84bfupgrade pytest
Niklas von Moers
2mo ago+28 -258
50%Typical
more lines added than baseline
37
42edda19refactor
Niklas von Moers
1y ago+17 -12
50%Typical
more lines added than baseline
38
00e89199build(deps): bump pyo3 from 0.28.3 to 0.29.0 (#14)
dependabot[bot]
1mo ago+17 -12
48%Typical
more lines added than baseline
39
d69e0b53feat: convenience classmethod for unweighted levenshtein distance
Niklas von Moers
11mo ago+21 -4
46%Typical
more lines added than baseline
40
65420b79validate default_cost
Niklas von Moers
1y ago+18 -0
46%Typical
more lines added than baseline
41
c0a1cce4fix WeightedLevenshtein.from_dict
Niklas von Moers
10mo ago+19 -3
44%Typical
more lines added than baseline
42
8967bebbfix: return matches for equal strings in explain, move unittests
Niklas von Moers
10mo ago+20 -6
42%Typical
more lines added than baseline
43
be562635feat: implement equality for WeightedLevenshtein
Niklas von Moers
10mo ago+13 -0
41%Typical
more lines added than baseline
44
7cc97245small runtime improvements
Niklas von Moers
10mo ago+13 -1
40%Typical
more lines added than baseline
45
1db32446improve EditOperation
Niklas von Moers
10mo ago+12 -2
38%Typical
more scattered than baseline
46
a2d59e29improve documentation
Niklas von Moers
11mo ago+8 -6
37%Typical
more scattered than baseline
47
18eb8f6fdocs: improve find_best_candidate example
Niklas von Moers
10mo ago+7 -5
35%Typical
fewer lines added than baseline
48
509460f4docs: improve descriptions
Niklas von Moers
10mo ago+7 -7
35%Typical
fewer lines added than baseline
49
c3638b61runtime improvements
Niklas von Moers
10mo ago+7 -1
32%Below typical
fewer lines added than baseline
50
d13610aedocs: document learning costs
Niklas von Moers
10mo ago+7 -0
32%Below typical
fewer lines added than baseline
  • 03a64054Transitivity (#13)
    Author
    Niklas von Moers
    When
    2mo ago
    Lines
    +2.5K -1.3K
    Risk
    99%Elevated
  • 36d57bd7feat: add optional cost maps for insertion and deletion
    Author
    Patrick Wagner
    When
    1y ago
    Lines
    +1.8K -429
    Risk
    98%Elevated
  • a7da5095upgrade dependencies
    Author
    Niklas von Moers
    When
    2mo ago
    Lines
    +821 -1.1K
    Risk
    96%Elevated
  • 1f9f067cupgrade packages
    Author
    Niklas von Moers
    When
    2mo ago
    Lines
    +1.1K -434
    Risk
    96%Elevated
  • 3370df8drelease version 1.0.0 (#9)
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +739 -581
    Risk
    93%Elevated
  • 5a051cb5init
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +763 -0
    Risk
    93%Elevated
  • b54f88ecFeat: Explain Edit Path (#3)
    Author
    Niklas von Moers
    When
    11mo ago
    Lines
    +735 -370
    Risk
    90%Elevated
  • 28d9764aadd GitHub pages documentation
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +710 -1
    Risk
    90%Elevated
  • 1adae93badd uv, mypy
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +682 -9
    Risk
    90%Elevated
  • ecce55cbfix: multiple bugfixes and improvements for cost learning
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +258 -74
    Risk
    86%Elevated
  • c79b848cfeat: learn costs (#5)
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +353 -16
    Risk
    86%Elevated
  • 8a2cb7befeat: add batch calculation, improve docs
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +352 -24
    Risk
    83%Elevated
  • 53f2c711feat: support substitution of multiple characters at once
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +362 -159
    Risk
    83%Elevated
  • 49d9cc65add unittests for rust-python-interface
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +312 -4
    Risk
    81%Elevated
  • e9f4335aupdate documentation
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +139 -39
    Risk
    80%Elevated
  • fd79a650improve custom types
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +117 -51
    Risk
    78%Elevated
  • d114da8cfeat: add find_best_candidate function
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +141 -10
    Risk
    78%Elevated
  • 324fac24calculate max_token_characters instead of having to supply it
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +154 -150
    Risk
    75%Elevated
  • 727bb529add ruff config
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +88 -0
    Risk
    75%Elevated
  • f4020dfeconfigure default cost map in Python
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +104 -142
    Risk
    73%Elevated
  • e617ee9brefactor
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +73 -75
    Risk
    71%Elevated
  • 21425f77add max_token_characters argument for control over speed/substitution token length
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +105 -44
    Risk
    71%Elevated
  • 3ec1009btest coverage
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +94 -2
    Risk
    69%Elevated
  • e0b2c960add documentation, license
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +70 -1
    Risk
    67%Elevated
  • fdb0e112update documentation
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +62 -7
    Risk
    65%Typical
  • 33effbc6refactor
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +51 -43
    Risk
    65%Typical
  • 275b2bfefeat: optionally include matches in edit path
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +59 -10
    Risk
    63%Typical
  • 7b80e387improve documentation
    Author
    Niklas von Moers
    When
    11mo ago
    Lines
    +54 -20
    Risk
    63%Typical
  • 485eb8e3fix ci/cd pipeline (#4)
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +33 -16
    Risk
    60%Typical
  • c961b238refactor
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +42 -23
    Risk
    60%Typical
  • cef25a88drop support for PyPy, bugfix for Python 3.9 (#7)
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +48 -56
    Risk
    58%Typical
  • c3e6882fupdate default substitution costs
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +29 -7
    Risk
    56%Typical
  • 6efc4756docs: improve examples
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +19 -13
    Risk
    53%Typical
  • 08e50ee8add release recipe
    Author
    Niklas von Moers
    When
    11mo ago
    Lines
    +20 -0
    Risk
    53%Typical
  • 830544d2docs: update readme
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +19 -0
    Risk
    53%Typical
  • 57ae84bfupgrade pytest
    Author
    Niklas von Moers
    When
    2mo ago
    Lines
    +28 -258
    Risk
    50%Typical
  • 42edda19refactor
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +17 -12
    Risk
    50%Typical
  • 00e89199build(deps): bump pyo3 from 0.28.3 to 0.29.0 (#14)
    Author
    dependabot[bot]
    When
    1mo ago
    Lines
    +17 -12
    Risk
    48%Typical
  • d69e0b53feat: convenience classmethod for unweighted levenshtein distance
    Author
    Niklas von Moers
    When
    11mo ago
    Lines
    +21 -4
    Risk
    46%Typical
  • 65420b79validate default_cost
    Author
    Niklas von Moers
    When
    1y ago
    Lines
    +18 -0
    Risk
    46%Typical
  • c0a1cce4fix WeightedLevenshtein.from_dict
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +19 -3
    Risk
    44%Typical
  • 8967bebbfix: return matches for equal strings in explain, move unittests
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +20 -6
    Risk
    42%Typical
  • be562635feat: implement equality for WeightedLevenshtein
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +13 -0
    Risk
    41%Typical
  • 7cc97245small runtime improvements
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +13 -1
    Risk
    40%Typical
  • 1db32446improve EditOperation
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +12 -2
    Risk
    38%Typical
  • a2d59e29improve documentation
    Author
    Niklas von Moers
    When
    11mo ago
    Lines
    +8 -6
    Risk
    37%Typical
  • 18eb8f6fdocs: improve find_best_candidate example
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +7 -5
    Risk
    35%Typical
  • 509460f4docs: improve descriptions
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +7 -7
    Risk
    35%Typical
  • c3638b61runtime improvements
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +7 -1
    Risk
    32%Below typical
  • d13610aedocs: document learning costs
    Author
    Niklas von Moers
    When
    10mo ago
    Lines
    +7 -0
    Risk
    32%Below typical
Showing 50 of 72 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.

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

Size against diffusion

The 72 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.03.4Diffusion →
Below typical24
Typical24
Elevated24

Commit history for niklasvonm/ocr-stringdist

niklasvonm/ocr-stringdist has 72 commits in its history from 3 contributors, the first of them Apr 18, 2025. In the last 90 days 13 files were touched, 15 times in total, most often _observable_dict.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.