Stores each scrobble's parent agent and repository (Tangled URLs as-is, any other URL as a salted hash; the salt stays in the index). Older indexes re-read every agent once to backfill. Projects then show weighted tokens per landed commit since the first stored scrobble, by the site's burn weights.
Burn follows where the agent committed within 12 hours, because repo.url is the working directory: leads started in the didbot checkout landed on substandard and atgc. That moves didbot from 16.8M to about 6.6M per commit.
Verified: fmt, clippy, cargo test (hashing, backfill, attribution), node --check, a probe on a copy of the live index, and mockups at 1280 and 420 px.
Before:
After:
🤖 Generated with Claude Code