GRASP.
Grasp 路 Delta study

The Decay Study: promoting the shadow metric, or not yet

The methodology commits that living_knowledge_decay only replaces the cliff headline "through a versioned change with its own public delta study." This is that study, run against the 22-repository benchmark under engine v0.14, published with its decision.

What was compared

The headline living-knowledge score uses a 90-day activity cliff: a contributor is present or absent, decided by one date. The decay variant weights each person's share by an exponential on their recency, at half weight 180 days after their last commit. Same credit-splitting, same weights, same window; only the definition of presence changes.

Results

Ordering survives. Rank correlation between cliff and decay scores across all 22 repositories: rho = 0.946. Any conclusion built on which repositories score higher than which survives the change.

Magnitudes move moderately. Mean absolute difference 7.0 points; maximum 21.

Volatility collapses exactly where it should. The three repositories the engine labels volatile are where the cliff swings hardest, and decay lands them mid-band:

repository60/180-day bandcliffdecay
flask0% to 78%78%62%
RooCodeInc/Roo-Code0% to 84%38%57%
continuedev/continue48% to 75%48%69%

Flask's score no longer depends on which side of one line a single maintainer's commit falls. That is the entire case for decay, demonstrated on the repositories that needed it.

The gradient's ends are intact. Cohort medians under decay: AI SDKs remain lowest (21% to 22%), modern human-led remain highest (83% to 82%). The middle three reorder, which the published findings already declare a non-finding.

Decision: defer promotion to the next re-baselining

Decay is the better-behaved statistic, and this study says so plainly. The headline stays the cliff for one reason: comparability. Every published figure, the benchmark table, and every scan anyone has run to date are cliff-based, and silently repricing them all would spend the credibility this project runs on. Promotion happens when the benchmark is next re-baselined as a whole, as a versioned break with both columns published side by side. Until then every scan carries both numbers, and a reader who prefers the curve already has it.

Full table

Cliff and decay per repository, sorted by cliff score, are in the benchmark data (living_knowledge_decay in every scan). The engine, thresholds, and this study are versioned together; rerunning the benchmark with the public engine reproduces every number here.

Grasp engine v0.14 路 graspscore.com/methodology


Decision, executed: promoted at the v0.21 re-baselining

The condition the deferral named arrived: the benchmark was re-baselined as a whole, as a versioned break, before any figure had to be silently repriced. As of engine v0.21 the recency curve is the headline, computed per module and per organisation, and the cliff is published beside it under the name this study gave it: living_knowledge_cliff, with its 60/90/180 band unchanged. Every published figure on the site dates from the re-baselined benchmark; both columns ship in every scan, exactly as this page said they would. The study above is preserved as it was written, measurements, stamp and all: it is the record of why the curve earned the headline.

Promotion record: Grasp engine v0.21 路 graspscore.com/methodology