Reading map: the payload is a generated artifact, not a tracked file

library-rag-export.service now regenerates reading_umap.json on cyrion
whenever the corpus or its located highlights move, writing straight into this
checkout. Keeping it tracked would defeat that: a generated file that changes
under git dirties the tree, which both flips auto-build.sh's change signature
and breaks the `git pull` at the top of every build tick — the reason
notebooks-export/ is already ignored, in that file's own words.

So it joins them: ignored, plus a find line in the signature block so the
5-minute tick still notices a new projection.

The cost is that a fresh checkout has no map until the service runs — on
cyrion that is within the hour, anywhere else never. ReadingMap.astro says so
where someone would hit it.
This commit is contained in:
wes
2026-08-14 07:59:25 -04:00
parent 4dbf8fe526
commit d0f56e4881
4 changed files with 16 additions and 5 deletions
+9 -4
View File
@@ -11,11 +11,16 @@
* src/lib/reading-map.js ← the renderer (shared with the standalone preview
* in c0smere_devops/library-rag/umap/web)
* src/styles/reading-map.css ← the chrome
* public/reading_umap.json ← `uv run umap/export.py -o …`
* public/reading_umap.json ← generated; NOT in git
*
* ⚠️ The payload is a STATIC SNAPSHOT. Nothing on cyrion regenerates it — the 5-minute
* auto-build rebuilds the site, not the data. New reading only reaches this map when
* someone re-runs `export.py` and commits the result. See library-rag/umap/PLAN.md §7.
* The payload is regenerated on cyrion by `library-rag-export.service` (hourly, gated on a
* fingerprint of the corpus and the located highlights) and written straight into this
* checkout. It is **gitignored on purpose** — a tracked generated file dirties the tree, which
* flips auto-build.sh's signature and breaks the `git pull` at the top of every build tick.
*
* ⚠️ **A fresh checkout therefore has no map until that service runs.** On cyrion that is
* within the hour; anywhere else it is never, and the banner renders empty. Fetch a copy from
* garden.c0smere.net/reading_umap.json, or run `library-rag/umap/export.py` yourself.
*/
import '../styles/reading-map.css';