revenant.

The Science

snapshot 2026-10-29

The ghost score estimates P(a project is abandoned within 12 months) using TabPFN, an open-weight tabular foundation model, paired with a transparent point-attributable heuristic (heuristic-v1). Features are computed strictly from repository history prior to snapshot date T0 = 2025-10-27 — never current stars or forks, which would leak future popularity.

Dataset card & Graveyard Index distribution

  • Current seeded index (2026-10-29): 180 unique npm & PyPI packages — 11 Departed, 16 Haunted, 17 Fading.
  • Training specification: ≈1,500 GitHub repositories behind npm/PyPI packages, stratified across download tiers.
  • Ground-truth label: abandoned_12m = no non-bot default-branch commit in (T0, T0+12mo], OR repository archived, OR package officially deprecated in that window.
  • 24 engineered features: commit cadence (30/90/180/365d), linear commit slope, distinct authors, bus factor, release gap, issue close rate, stale PRs, and download trend.

TabPFN vs baselines

As of snapshot 2026-10-29, the 5-fold cross-validation benchmark (data/eval-results.json) has not been executed in this environment because we never invent or hardcode synthetic benchmark numbers.

Active production scorer: heuristic-v1 signal weights

Every point on a Revenant tombstone is directly attributable to the public signals below:

Observable signalAttribution
Repository archived (read-only)+70 pts
Official registry deprecation flag+65 pts
No commits in >2 years (>730d)+40 pts
No release in >2 years (>730d)+15 pts
Zero active authors in last 365 days+10 pts
Single-author bus factor >=80%+8 pts
180-day issue close rate <10% (>50 open)+8 pts
Recent commit (<30d) & release (<90d)−16 pts

Limitations & honest negatives

  • The label is a proxy: "no commits in 12 months" can conflate small feature-complete libraries with abandoned ones.
  • Issue/PR response history reconstruction is dropped when GitHub API rate limits are constrained — disclosed here rather than silently imputed.
  • Absence of a linked GitHub repository renders as UNKNOWN, never ALIVE.
  • A high ghost score is a signal to inspect your dependency tree, never a verdict on a maintainer.