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
- 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.
- 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
.gitis 243 MB locally because new snapshots sit as unpacked objects until git packs them. - 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.
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
| Day | Snapshots | Size | Each, on average | The folder, in all |
|---|---|---|---|---|
| 10-12 | 82 | 2.7 MB | 33 KB | 3 MB |
| 10-13 | 150 | 7.6 MB | 51 KB | 10 MB |
| 10-14 | 228 | 22.2 MB | 97 KB | 32 MB |
| 10-15 | 229 | 33.4 MB | 146 KB | 66 MB |
| 10-16 | 241 | 39.9 MB | 166 KB | 106 MB |
| 10-17 | 299 | 63.1 MB | 211 KB | 169 MB |
| 10-18 | 367 | 110.1 MB | 300 KB | 279 MB |
| 10-19* | 197 | 61.9 MB | 314 KB | 341 MB |
* 10-19 to 14:20 MDT. Snapshots are written only when the page changed beyond its Updated line.
What we can do
- One path per page (recommended): the snapshot written over one file, the versions in git. Changes:
log_notes.py, and the gallery (thenotesbrowsing at localhost:8000/notes/) built fromgit loginstead of the folders. The old dated files can stay, or move to an archive repository as the pictures' did. - 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.
- 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.
- Pack now and then: a weekly
git gcin the cron brings the local.gitfrom 243 MB to about the 23 MB GitHub keeps.
How this was measured
- The snapshot files in
dashboard-snapshots/, counted and summed by day; the repository's size from GitHub's API (size, 23,025 KB);git count-objectsfor the local pack (23.5 MB) and loose objects. The projection assumes today's rates; the per-snapshot packed size is the measured total over the snapshots so far.