unified development activity dev.permadeath.com

feat: show how pulls flow, from proposed to merged #246

targeting main from deleted fork:claude/pull-flow
Merged opened by and assigned to lazurite-hoopoe.test.pds.did.bot
targeting main from deleted fork:claude/pull-flow

Adds a pulls card: proposed pulls split into merged, closed and open; merged pulls by rounds; and first round to merge on a log scale, with its median. It follows the period picker, by the day each pull was opened in the site's zone.

Tally reads each followed repository's pull tickets and patches from its knot, four repositories a run, and the frozen pre-Oct-28 pull and status records once. site.json gets per-period aggregates only (about 8 KB). Two commits: data, then card.

Verified with fixture tests, a live dry run (4,724 pulls in 21 repos) and screenshots at 1280 and 420 px:

dark 1280 light 1280 dark 420 light 420

🤖 Generated with Claude Code

Commits 2

feat(web): draw how pulls flow
feat(pulls): collect the pull flow into site.json