Rings
openzeppelin/openzeppelin-contracts
first ring August 2016 · 121 rings · 4,164 commits · 514 hands · cut at bb8ed38, 2026-08-03
How to read this
Every mark is a git factTap the wood for its period, its subsystem and the commits behind them.
- 1Pith The first commit. It drifts toward whichever subsystem took the work.
- 2Ring One period. Width is that period's churn, log-scaled against the busiest one.
- 3Wedge A top-level directory. Arc = its share of lifetime churn, largest at 12 o'clock.
- 4Sealed pocket A directory that stopped and is gone from HEAD.
- 5Knot A branch that lived 30 days or more and carried 3+ commits, then merged.
- 6Scar A period where reverts crossed 5% of its commits.
- 7Bark Thickness = distinct authors of the last 12 periods. Counted, never named.
- 121
- rings, one per month
- 4,164
- commits
- 514
- hands
- 21
- knots
- 1
- scar
- Indigo
- ink
Share it
The wedges
| Top-level path | Share of lifetime churn | At HEAD |
|---|---|---|
| / | 66.7% | present |
| test | 16.3% | present |
| contracts | 12.6% | present |
| docs | 1.3% | present |
| certora | 1.2% | sealed pocket |
| scripts | 0.9% | present |
| (other) | 1.0% | present |
Cut yours
npx busfactor ringsOffline, no signup, nothing uploaded. Private repositories included.What every mark counts
| Mark | Git fact | How it is counted |
|---|---|---|
| One ring | One period of the repo's life | commit author dates, UTC |
| Ring width | Lines added + removed that period, log-scaled against the busiest period | git log --numstat |
| Tight band | A quiet period | same |
| Wide flush | A rewrite or a big push | same |
| Dark ring edge | Latewood: darker where the period was busier | same |
| Wedge | A top-level directory; arc = its share of lifetime churn, largest at 12 o'clock going clockwise | numstat path prefixes |
| Bright grain | That directory dominated that period's churn | per-period churn share |
| Knot | A merged branch that lived >= 30 days with >= 3 commits, sitting in the subsystem it touched most | merge parents, walked |
| Scar | A period where reverts were >= 5% of commits and >= 3 of them | commit subjects starting with revert or reverted |
| Sealed pocket | A top-level directory that stopped and is gone from HEAD | git ls-tree HEAD |
| Off-centre pith | The trunk leans toward wherever the work moved | dominant wedge per period, accumulated |
| Lighter outer wood | Sapwood: the last 12 periods | ring index |
| Bark thickness | Distinct author emails in the sapwood window | hashed locally, counted, never named |
| Ink | The language family whose files were touched most often | numstat rows by file extension |