The dashboard repository's size (ticket 391)

2026-10-19, Claude, while Matthew was away. Matthew asked whether keeping every snapshot of the dashboard page uses too much space, how long the repository stays under the limit at this rate, and what to do if it is too fast.

Short answers

  1. On GitHub, no. GitHub holds the repository in 23 MB: its 1,793 snapshots of the page are 341 MB of HTML, but git packs them as small differences from one another (about 13 KB a snapshot). At about 300 snapshots a day that is about 4 MB a day: GitHub's 1 GB guideline is about eight months away, and its 5 GB limit years.
  2. On this laptop, yes. Every snapshot is also a file in the working copy: 341 MB now, and growing faster each day, because the page itself grows (33 KB a snapshot on 10-12, 314 KB today, about 40 KB more a day as tickets accumulate). At today's rate the folder passes 8 GB in a month and about 58 GB by mid-January (the chart). And .git is 243 MB locally because new snapshots sit as unpacked objects until git packs them.
  3. The fix is the Dress Up archives' (^du_report(4)): one file, every version in git's history. Write each snapshot over the same path (the page and the closed page), and let the history keep the versions, as the picture archive does since it moved to one folder. The working copy stays one page; GitHub's size grows as now; a version is found by its commit (its time is the commit's), which the snapshots' gallery would then list from git log.
1 MB10 MB100 MB1 GB10 GB100 GB10-1210-1911-1812-1801-17GitHub: keep a repository under 1 GB the snapshots on this laptop the repository on GitHub (packed)

Log scale. Solid: what the snapshot folder holds on the laptop, day by day; dashed: projected at 300 snapshots a day and the page growing 40 KB a day. Green: the repository's size on GitHub today (the dot) and projected at 13 KB a snapshot.

The snapshots, by day

DaySnapshotsSizeEach, on averageThe folder, in all
10-12822.7 MB33 KB3 MB
10-131507.6 MB51 KB10 MB
10-1422822.2 MB97 KB32 MB
10-1522933.4 MB146 KB66 MB
10-1624139.9 MB166 KB106 MB
10-1729963.1 MB211 KB169 MB
10-18367110.1 MB300 KB279 MB
10-19*19761.9 MB314 KB341 MB

* 10-19 to 14:20 MDT. Snapshots are written only when the page changed beyond its Updated line.

What we can do

  1. One path per page (recommended): the snapshot written over one file, the versions in git. Changes: log_notes.py, and the gallery (the notes browsing at localhost:8000/notes/) built from git log instead of the folders. The old dated files can stay, or move to an archive repository as the pictures' did.
  2. Fewer snapshots: at most one every ten minutes (the public page is already published at most every ten), about 100 a day instead of 300. Simple, but only slows the growth.
  3. Smaller snapshots: the page's styles and scripts are the same in every snapshot; one shared file would cut each snapshot by that much. Helps the working copy, not the growth with tickets.
  4. Pack now and then: a weekly git gc in the cron brings the local .git from 243 MB to about the 23 MB GitHub keeps.

How this was measured