GRASP.
Grasp · Comprehension Index Scan Report

Who still understands chartjs/Chart.js?

Computed from git metadata only; no source code contents were read.
touch-weighted · 3-year history window · last commit 102d ago · scores are comparable only against same-mode scans

Grasp Score
28
touch-weighted living knowledge across the repo
Active humans
0 / 48
contributors active in last 90 days vs. all-time
AI-attributed minimum
≥ 0.0%
hard evidence only. Just 26% of commits here carry any attribution signal, so the real share is higher
Inactive share
100.0%
work by authors with no commit in the window; silence, not proof of departure
Composition
20/58/21/1%
source / tests / docs / config share of scored work
Living, source only
25%
the headline recomputed over hand-written source alone
Score stability
stable
90-day-cliff variant reads 0%–2% across 60/90/180-day activity windows; read the width before the middle value
Dormant repository: no commits in 102 days. "Active" is measured against today, not the repository's own last commit, so a project nobody has touched recently scores low by definition. That is the intended reading: the score reflects how much of this code has someone currently working on it, and here the answer is nobody. For an archived or finished project, a low score describes its status rather than a problem to fix.
Squash-merged history: 100% of the commits analysed here collapsed a whole pull request into one commit by one author. Squashing credits a single person for everyone's work and can strip the co-author trailers that name the rest (measured across heavy squashers, roughly a quarter to a third of squash commits still carry them, and those are credited), so for this repository the concentration figures are an upper bound, the bus factors are a lower bound, and the AI-attribution minimum is lower than it would be with the same work merged conventionally. That information is destroyed at merge time and cannot be recovered from the repository, so it is reported rather than corrected. Comparisons against a project that does not squash are comparisons across two different record-keeping systems.

Dark-code ranking

Modules ranked by comprehension risk: the unknown share, amplified by ongoing change and thin ownership. The green meter is living knowledge.

ModuleRiskLiving knowledgeAI-attr. InactiveBusHeat/180d
srcMED 59
24%
0%100%06
test/fixtures/controller.doughnutMED 56
32%
0%100%016
test/specsMED 56
27%
0%100%03
test/fixtures/controller.lineMED 54
30%
0%100%02
docsMED 54
28%
0%100%02
test/typesMED 54
29%
0%100%01
test/fixtures/plugin.fillerMED 54
28%
0%100%00
test/fixtures/controller.barMED 53
29%
0%100%00
test/fixtures/core.scaleMED 53
29%
0%100%00
test/fixtures/controller.polarAreaMED 53
29%
0%100%00
test/fixtures/controller.radarMED 53
29%
0%100%00
test/fixtures/plugin.legendMED 53
29%
0%100%00

One commit touched 98% of every file changed in this window. Wide, shallow commits, a formatter run or a license-header pass, add weight for their author across the whole surface while changing little. Worth looking at what that commit was before crediting the score to its author.

One commit accounts for 84% of the analysed lines. In a repository this size a single large change can move the score on its own, and git cannot tell a thoughtfully written thousand-line change from a thousand lines a formatter rewrote. Worth looking at what that commit actually was before reading much into the number; the touch-weighted view, which counts each file-touching commit once, is the cross-check.

Public-repo caveat: "departed" includes drive-by contributors, overstating attrition relative to a company repo with a real roster. Engagement is a proxy for comprehension. Treat it as a potential indicator rather than a diagnosis.