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
44 commits sit in this repo's top risk tercile, which is 33% of the 133scored. 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.8 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 docs-led, now leaning refactor.
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 | 8617c397init | Nicholas Gao | 3mo ago | +70.0K -0 | 100%Elevated | more lines added than baseline |
| 2 | d7985105ci: refactor neighborlist tests (#153) | Nicholas Gao | 2mo ago | +4.0K -3.1K | 99%Elevated | more lines added than baseline |
| 3 | 7d1316f3refactor: Move make from state functions to application (#209) | Nicholas Gao | 1mo ago | +3.5K -1.9K | 97%Elevated | more lines added than baseline |
| 4 | 271ffdc4feat: add pytorch MACE and UMA (#120) | Nicholas Gao | 2mo ago | +4.0K -1.2K | 97%Elevated | more lines added than baseline |
| 5 | a4effa3afeat: batch isolation in relaxation (#109) | Nicholas Gao | 3mo ago | +2.6K -1.6K | 97%Elevated | more lines added than baseline |
| 6 | 41bfa406refactor: Decompose neighbor list into Pipeline of selector → masks → compactor (#138) | Nicholas Gao | 2mo ago | +1.6K -447 | 95%Elevated | more lines added than baseline |
| 7 | b6da012frefactor: Split `neighborlist.py` into submodule package (#136) | Nicholas Gao | 2mo ago | +1.8K -1.5K | 95%Elevated | more lines added than baseline |
| 8 | bade3680refactor: rename UnitCell vocabulary to Cell (#97) | Jonas Köhler | 3mo ago | +2.3K -2.0K | 95%Elevated | more lines added than baseline |
| 9 | b7f8ae1bperf: Replace symmetric image stencil with anchored per-pair window for periodic image replication (#212) | Nicholas Gao | 1mo ago | +1.3K -111 | 92%Elevated | more lines added than baseline |
| 10 | 71717b8dfeat: Add gradient filters to match ASE's FrechetCellFilter (#204) | Nicholas Gao | 1mo ago | +1.8K -785 | 92%Elevated | more lines added than baseline |
| 11 | f3c8c8f1feat: Add per-system Armijo and strong-Wolfe line-search transforms (#170) | Nicholas Gao | 1mo ago | +1.2K -94 | 92%Elevated | more lines added than baseline |
| 12 | f2825002feat: Add BAOAB NPT Langevin integrator (Gao–Fang–Wang JCP 2016) (#143) | Nicholas Gao | 2mo ago | +2.0K -16 | 92%Elevated | more lines added than baseline |
| 13 | aa11edfafeat: selective + chunked reading in HDF5 storage (#210) | Nicholas Gao | 1mo ago | +1.0K -315 | 88%Elevated | more lines added than baseline |
| 14 | 789fe8b0refactor: Rename `lh`/`rh`/`for_indices` to `keys`/`queries`/`queried_keys` in neighbor list API (#171) | Nicholas Gao | 1mo ago | +838 -605 | 88%Elevated | more lines added than baseline |
| 15 | 95d7aceachore: updating typing to strict pyrefly (#152) | Nicholas Gao | 2mo ago | +1.1K -792 | 88%Elevated | more lines added than baseline |
| 16 | 744cf0d6ci: Add LAMMPS LJ Argon statistical reference suite (NVE/NVT/NPT) (#144) | Nicholas Gao | 2mo ago | +1.0K -38 | 88%Elevated | more lines added than baseline |
| 17 | 06774d57feat: Widom test-particle insertion (#126) | Jonas Köhler | 2mo ago | +1.2K -20 | 88%Elevated | more lines added than baseline |
| 18 | d72e5304feat: Implementation of Fire2.0 and ABC Fire (#96) | sebastianecheverrir | 3mo ago | +771 -4 | 88%Elevated | more lines added than baseline |
| 19 | fd1df2f9docs: logging | Nicholas Gao | 3mo ago | +1.2K -1 | 88%Elevated | more lines added than baseline |
| 20 | 6087feaarefactor: Replace `rh`/`rh_index_remap` call contract with `rh`/`for_indices` keyword-only API and extract mirroring into `MirrorPairEdges` postprocessor (#150) | Nicholas Gao | 2mo ago | +858 -700 | 85%Elevated | more lines added than baseline |
| 21 | 402f3b5drefactor: Replace `FrechetFrame` with `DeformedFrame`/`MatrixLogFrame` and add `Frame.structure` dispatch (#202) | Nicholas Gao | 1mo ago | +629 -167 | 84%Elevated | more lines added than baseline |
| 22 | ae64c3e0ci: Optimize pytest (#154) | Nicholas Gao | 2mo ago | +767 -508 | 84%Elevated | more lines added than baseline |
| 23 | 94b0a5b3feat: Add adaptive cutoff neighbor-list factory with count-based dense/cell-list policy (#148) | Nicholas Gao | 2mo ago | +591 -146 | 84%Elevated | more lines added than baseline |
| 24 | 652258e6refactor: Unify `RadiusGraphConstructor`, `EdgeSetGraphConstructor`, and `PointCloudConstructor` into a single `GraphConstructor` (#151) | Nicholas Gao | 2mo ago | +432 -542 | 81%Elevated | more lines added than baseline |
| 25 | d69ff821ci: Add GPU e2e tests for MACE and UMA torch adapters (#133) | Nicholas Gao | 2mo ago | +572 -2 | 81%Elevated | more lines added than baseline |
| 26 | 6136223afeat: Implement per-axis periodic mask support in cell list (#98) | Jonas Köhler | 3mo ago | +466 -93 | 81%Elevated | more lines added than baseline |
| 27 | a8427c5drefactor: Replace inclusion/exclusion indices with group-based motif lookup in blocking spheres (#105) | Nicholas Gao | 3mo ago | +417 -239 | 81%Elevated | more lines added than baseline |
| 28 | c2e4db13docs: mcmc moves | Nicholas Gao | 3mo ago | +558 -0 | 81%Elevated | more lines added than baseline |
| 29 | 92a7b3e7refactor: Introduce `BaseFrame`/`LinearFrame` hierarchy and `Frame.parameter_gradient`/`vectors_gradient` (#167) | Nicholas Gao | 2mo ago | +432 -189 | 77%Elevated | more lines added than baseline |
| 30 | 55792feafeat: Add `EmptyNeighborList` and `FixedEdgesNeighborList` implementations (#149) | Nicholas Gao | 2mo ago | +379 -30 | 77%Elevated | more lines added than baseline |
| 31 | 8cb842eddocs: add neighborlist notebook | Nicholas Gao | 3mo ago | +635 -14 | 77%Elevated | more lines added than baseline |
| 32 | 218a3b76chore: make lens value covariant | Nicholas Gao | 3mo ago | +289 -400 | 77%Elevated | more lines added than baseline |
| 33 | b96609f8feat: Add `Compression` policy and auto-batched block writes to `HDF5StorageWriter` (#180) | Nicholas Gao | 1mo ago | +325 -17 | 74%Elevated | more lines added than baseline |
| 34 | 50a1432cfeat: Add total lattice gradient and per-axis periodicity masking for variable-cell relaxation (#178) | Nicholas Gao | 1mo ago | +382 -87 | 74%Elevated | more lines added than baseline |
| 35 | bcdac605refactor: Move cutoffs from `NeighborList.__call__` into instance state (#147) | Nicholas Gao | 2mo ago | +424 -376 | 74%Elevated | more lines added than baseline |
| 36 | 0c1aea87fix: Correct cell rotation direction and guard against degenerate cell hashes and image counts (#135) | Nicholas Gao | 2mo ago | +287 -35 | 74%Elevated | more lines added than baseline |
| 37 | d56a0360refactor: Bundle integrator params into typed `IntegratorParams` dataclasses (#121) | Nicholas Gao | 2mo ago | +335 -151 | 74%Elevated | more lines added than baseline |
| 38 | 28adce1crefactor: Adopt optax force convention in FIRE/FIRE2 transforms (#112) | Nicholas Gao | 3mo ago | +270 -90 | 74%Elevated | more lines added than baseline |
| 39 | 25985df6refactor: Unify `kups_md_lj`/`kups_md_mlff`/`kups_relax_*` into single `kups_md`/`kups_relax` with discriminated `potential` config (#211) | Nicholas Gao | 1mo ago | +463 -660 | 70%Elevated | more lines added than baseline |
| 40 | 9c8c6d56feat: Add `MatrixStructure` flag with `structured_matmul` and `structured_det_and_inverse` dispatch (#201) | Nicholas Gao | 1mo ago | +293 -1 | 70%Elevated | more lines added than baseline |
| 41 | dd76033dfeat: Add `LogTriclinicFrame` with closed-form triangular matrix log/exp parameterisation (#169) | Nicholas Gao | 2mo ago | +259 -10 | 70%Elevated | more lines added than baseline |
| 42 | f7ae1d10fix: Correct incremental GCMC exchange energies for batched Ewald and self-excluding neighbor lists (#226) | Nicholas Gao | 1mo ago | +304 -102 | 68%Elevated | more lines added than baseline |
| 43 | f67ba293feat: Add `FrechetFrame` and `triangular_3x3_expm` for ASE-style cell relaxation (#183) | Nicholas Gao | 1mo ago | +250 -3 | 68%Elevated | more lines added than baseline |
| 44 | 0adf00fddocs: relocate media under docs/ and add theme-aware logo (#12) | Jonas Köhlerclaudeassisted | 3mo ago | +279 -9 | 68%Elevated | more lines added than baseline |
| 45 | 52493389fix: Enforce sorted primary keys in `Table` and add `Table.new` (#250) | Alexander G. D. G. Matthewsclaudeassisted | 1w ago | +193 -31 | 65%Typical | more lines added than baseline |
| 46 | c914830arefactor: Replace `adaptive_cutoff_neighborlist_from_state` with `AdaptiveNeighborList` class supporting per-call cost-based dispatch (#215) | Nicholas Gao | 1mo ago | +338 -308 | 65%Typical | more lines added than baseline |
| 47 | 15574347refactor: Compute stress via unified virial theorem, drop lattice-gradient method (#132) | Nicholas Gao | 2mo ago | +249 -243 | 65%Typical | more lines added than baseline |
| 48 | 9cf9280cfix(neighborlist): undercount of periodic images in cell-list (#127) | Felix Musilclaudeassisted | 2mo ago | +239 -3 | 65%Typical | more lines added than baseline |
| 49 | ca8f694bfeat: Estimate `max_num_adsorbates` from vdW volumes, fix image-candidate replication (#164) | Nicholas Gao | 2mo ago | +275 -25 | 64%Typical | more lines added than baseline |
| 50 | bcb7dba1feat: Add `MaterializedFrame` and `Frame.materialize` (#137) | Nicholas Gao | 2mo ago | +181 -0 | 62%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 133 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.
cusp-ai-oss/kups has 145 commits in its history from 8 contributors, the first of them Apr 20, 2026. In the last 90 days 218 files were touched, 586 times in total, most often cell.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.