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
36 commits sit in this repo's top risk tercile, which is 33% of the 108scored. 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 other-led, now leaning feature.
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 | Review priority | Top driver |
|---|---|---|---|---|---|---|
| 1 | 8adf0285feat(litter)!: v3.1 physics corrections, wetness state & reach mode | Robin Shannonclaudeassisted | 1mo ago | +2.4K -426 | 98thElevated | more lines added than baseline |
| 2 | 4d7ce9dbtest(C5,C6): add Phase 2/3 behaviour specs (M2 impaction, M3 shelter, DEM helper) | Robin Shannonclaudeassisted | 2mo ago | +1.5K -0 | 98thElevated | more lines added than baseline |
| 3 | 67d412acImport odour and litter hazard functions from rainfall-forecast project | Robin Shannonclaudeassisted | 2mo ago | +2.2K -0 | 98thElevated | more lines added than baseline |
| 4 | fa9896aafirst commit | Robin Shannon | 7mo ago | +1.7K -0 | 98thElevated | more lines added than baseline |
| 5 | 16a1e584feat(C2+C4S1): ventilation_state(), pool_top physics, site_from_sectors() | Robin Shannonclaudeassisted | 2mo ago | +1.2K -152 | 95thElevated | more lines added than baseline |
| 6 | f898deffFixed initial bugs with implementation and added test. This should now mostly work. | Robin Shannon | 6mo ago | +1.3K -287 | 95thElevated | more lines added than baseline |
| 7 | 5836a868bench: add Phase 1 benchmark suite (C1–C4) | Robin Shannonclaudeassisted | 2mo ago | +656 -0 | 94thElevated | more lines added than baseline |
| 8 | bfb01af7feat(C3b): terrain morning-pulse physics (pool_partition + pathway functions) | Robin Shannonclaudeassisted | 2mo ago | +856 -22 | 93thElevated | more lines added than baseline |
| 9 | 8f9066fcfeat(dust)!: physical corrections to the saltation-to-emission chain (v3) | Robin Shannonclaudeassisted | 1mo ago | +617 -64 | 92thElevated | more lines added than baseline |
| 10 | a0dcc21ctest(odour): write v3 physics-correction tests before implementation (TDD) | Robin Shannonclaudeassisted | 2mo ago | +417 -81 | 92thElevated | more lines added than baseline |
| 11 | 955a9292feat(C5): implement mh_terrain_from_dem() — DEM terrain descriptor helper | Robin Shannonclaudeassisted | 2mo ago | +435 -0 | 88thElevated | more lines added than baseline |
| 12 | c78cc60dfeat(C3a): rewrite odour_exposure() onto mh_site + area source + multi-source | Robin Shannonclaudeassisted | 2mo ago | +643 -553 | 88thElevated | more lines added than baseline |
| 13 | 5e923fcefeat(site): add sf/S7 deps and the mh_site/mh_terrain site model | Robin Shannonclaudeassisted | 2mo ago | +692 -26 | 88thElevated | more lines added than baseline |
| 14 | 084f55a8feat(odour): add odour_exposure() geometry layer + relocate drainage (Stage 3) | Robin Shannonclaudeassisted | 2mo ago | +465 -0 | 88thElevated | more lines added than baseline |
| 15 | e4b83575Add v3 litter hazard behaviour specs (pending) | Robin Shannonclaudeassisted | 2mo ago | +402 -0 | 88thElevated | more lines added than baseline |
| 16 | f8091671docs(dust): v4 implementation plan for the review's major findings | Claudeclaudeautonomous | 1mo ago | +350 -0 | 83thElevated | more lines added than baseline |
| 17 | 6d80708bdocs(litter): v3.2 implementation plan for the review's major findings | Claudeclaudeautonomous | 1mo ago | +409 -0 | 83thElevated | more lines added than baseline |
| 18 | 793d8c14feat(odour)!: five physical corrections to the hazard/exposure chain (v3) | Robin Shannonclaudeassisted | 2mo ago | +482 -81 | 83thElevated | more lines added than baseline |
| 19 | 2ecdf0e7test(C8): write TDD specs for rim-venting before implementation | Robin Shannonclaudeassisted | 2mo ago | +318 -0 | 83thElevated | more lines added than baseline |
| 20 | 4e28d9effeat(C6,C5): implement M2/M3 terrain mechanisms and DEM infrastructure | Robin Shannonclaudeassisted | 2mo ago | +342 -7 | 83thElevated | more lines added than baseline |
| 21 | 591b174efeat(litter): rewrite litter_exposure() onto mh_site (C4 Stage 2) | Robin Shannonclaudeassisted | 2mo ago | +383 -36 | 83thElevated | more lines added than baseline |
| 22 | 5be67113feat: add categorise/colour tier helpers for litter, dust, odour | Robin Shannonclaudeassisted | 2mo ago | +422 -7 | 79thElevated | more lines added than baseline |
| 23 | 9666f487Import dust hazard functions from rainfall-forecast project | Robin Shannonclaudeassisted | 2mo ago | +392 -0 | 79thElevated | more lines added than baseline |
| 24 | e82abf01feat(litter): reimplement hazard index to v3 (friction-velocity model) | Robin Shannonclaudeassisted | 2mo ago | +291 -927 | 79thElevated | more lines added than baseline |
| 25 | aa06fca1feat(litter): smooth material-saturation ramp + material-resolved thresholds (v3.2 WP1/WP2) | Robin Shannonclaudeassisted | 1mo ago | +284 -111 | 74thElevated | more lines added than baseline |
| 26 | dcbf8380feat(odour)!: return per-receptor relative concentration; park 0-100 map (#11) | Claudeclaudeautonomous | 2mo ago | +344 -173 | 74thElevated | more lines added than baseline |
| 27 | 7d4e2fb1feat(C6,C5): wire terrain args through odour_risk(), add docs, NEWS, benchmarks | Robin Shannonclaudeassisted | 2mo ago | +352 -10 | 74thElevated | more lines added than baseline |
| 28 | dc7d8572test(odour): add golden characterisation oracle for the exposure hot path | Robin Shannonclaudeassisted | 2mo ago | +277 -0 | 74thElevated | more lines added than baseline |
| 29 | 6da4dadbfeat(site): add the C1 site-geometry helpers | Robin Shannonclaudeassisted | 2mo ago | +299 -17 | 74thElevated | more lines added than baseline |
| 30 | 792f0228test(odour,litter,site): Phase 1 behaviour specs (pending) | Robin Shannonclaudeassisted | 2mo ago | +221 -0 | 74thElevated | more lines added than baseline |
| 31 | 50865451feat(dust): reimplement dust model to v2 (physical saltation framework) | Robin Shannonclaudeassisted | 2mo ago | +280 -246 | 74thElevated | more lines added than baseline |
| 32 | f5aba6ebfeat(odour): add odour_hazard() ventilation index (Stage 2) | Robin Shannonclaudeassisted | 2mo ago | +291 -0 | 74thElevated | more lines added than baseline |
| 33 | 939a4297Add behaviour specs for TWL function-chain hardening (issue #1) | Robin Shannonclaudeassisted | 2mo ago | +202 -0 | 74thElevated | more lines added than baseline |
| 34 | 4259c0cffeat(dust): met-driven air density + direct grain-size interface (WP1) | Robin Shannonclaudeassisted | 1mo ago | +328 -41 | 68thElevated | more lines added than baseline |
| 35 | e15b744cfix(C9): shared hazard core — wind dilution now active in odour_exposure() | Robin Shannonclaudeassisted | 2mo ago | +304 -62 | 68thElevated | more lines added than baseline |
| 36 | b26ea628test(litter): add exposure-layer behaviour specs (pending) | Robin Shannonclaudeassisted | 2mo ago | +229 -0 | 68thElevated | more lines added than baseline |
| 37 | fc516bc8fix(audit): close three Phase 1 plan gaps | Robin Shannonclaudeassisted | 2mo ago | +244 -407 | 65thTypical | more lines added than baseline |
| 38 | 5fdc2a27docs(odour): regenerate man/NAMESPACE, update README and NEWS (Stage 5) | Robin Shannonclaudeassisted | 2mo ago | +277 -280 | 65thTypical | more lines added than baseline |
| 39 | 11b8b4d3feat(odour): add shared dispersion-state helper (Stage 1) | Robin Shannonclaudeassisted | 2mo ago | +211 -0 | 65thTypical | more lines added than baseline |
| 40 | f0ea563afeat(litter): add litter_exposure() exposure layer | Robin Shannonclaudeassisted | 2mo ago | +275 -0 | 65thTypical | more lines added than baseline |
| 41 | 45b0b49ffeat(dust): within-hour Weibull intermittency forcing (WP3) | Robin Shannonclaudeassisted | 1mo ago | +243 -50 | 62thTypical | more lines added than baseline |
| 42 | c5d40a6cperf: vectorise odour_exposure() source/receptor loop into matrix ops | Robin Shannonclaudeassisted | 2mo ago | +198 -282 | 62thTypical | more lines added than baseline |
| 43 | dfb82a49Stage D: Open-Meteo endpoint split and user-agent (issue #1) | Robin Shannonclaudeassisted | 2mo ago | +224 -49 | 62thTypical | more lines added than baseline |
| 44 | 094303cdfeat(dust): saltation-gated crust decay (WP4 step 2) | Robin Shannonclaudeassisted | 1mo ago | +219 -19 | 59thTypical | more lines added than baseline |
| 45 | 1d390bbdfeat(hazards)!: remove fixed 0-100 scale/tiers; expose physical outputs (#11) | Claudeclaudeautonomous | 2mo ago | +187 -714 | 59thTypical | more lines added than baseline |
| 46 | adf6a807test(dust): add v2 behaviour specs (pending) | Robin Shannonclaudeassisted | 2mo ago | +167 -0 | 59thTypical | more lines added than baseline |
| 47 | d2229fa3feat(dust): MB95 drag partition for a caller-supplied z0 (WP2) | Robin Shannonclaudeassisted | 1mo ago | +204 -61 | 56thTypical | more lines added than baseline |
| 48 | f1120738docs: Phase 1 NEWS and README updates | Robin Shannonclaudeassisted | 2mo ago | +152 -21 | 56thTypical | more lines added than baseline |
| 49 | d86ad126Stage 0+A: shared constants and solver de-duplication (issue #1) | Robin Shannonclaudeassisted | 2mo ago | +175 -107 | 56thTypical | more lines added than baseline |
| 50 | 9b20cd7fRename package to meteoHazard and add hazard-function stubs | Robin Shannonclaudeassisted | 2mo ago | +182 -31 | 56thTypical | 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 108 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.
vorpalvorpal/meteohazard has 123 commits in its history from 2 contributors, the first of them Jan 28, 2026. In the last 90 days 57 files were touched, 280 times in total, most often odour_exposure.R. Every commit is scored for change risk from its size, spread and the history of the files it touches.