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:
@@ -7,6 +7,10 @@ public/assets/
|
|||||||
# the git pull at the top of every build tick
|
# the git pull at the top of every build tick
|
||||||
notebooks-export/
|
notebooks-export/
|
||||||
public/nb/
|
public/nb/
|
||||||
|
# the reading map is the same kind of artifact: library-rag-export.service regenerates it on
|
||||||
|
# cyrion whenever the corpus or its located highlights move. It was tracked until 2026-08-14,
|
||||||
|
# which is why automating the export needed this line first.
|
||||||
|
public/reading_umap.json
|
||||||
.build_state
|
.build_state
|
||||||
.build.lock
|
.build.lock
|
||||||
.notebooks.lock
|
.notebooks.lock
|
||||||
|
|||||||
@@ -30,6 +30,9 @@ sig=$({
|
|||||||
git diff
|
git diff
|
||||||
find "$VAULT" -name .obsidian -prune -o -type f -printf '%T@ %p\n' | sort
|
find "$VAULT" -name .obsidian -prune -o -type f -printf '%T@ %p\n' | sort
|
||||||
find "$REPO/notebooks-export" -type f -printf '%T@ %p\n' 2>/dev/null | sort
|
find "$REPO/notebooks-export" -type f -printf '%T@ %p\n' 2>/dev/null | sort
|
||||||
|
# same deal for the reading map: gitignored, written by library-rag-export.service on its
|
||||||
|
# own timer, so git status/diff above cannot see it change
|
||||||
|
find "$REPO/public/reading_umap.json" -printf '%T@ %p\n' 2>/dev/null | sort
|
||||||
} | sha256sum | cut -d' ' -f1)
|
} | sha256sum | cut -d' ' -f1)
|
||||||
|
|
||||||
if [ "$FORCE" -eq 0 ] && [ -f "$STATE" ] && [ "$(cat "$STATE")" = "$sig" ]; then
|
if [ "$FORCE" -eq 0 ] && [ -f "$STATE" ] && [ "$(cat "$STATE")" = "$sig" ]; then
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -11,11 +11,16 @@
|
|||||||
* src/lib/reading-map.js ← the renderer (shared with the standalone preview
|
* src/lib/reading-map.js ← the renderer (shared with the standalone preview
|
||||||
* in c0smere_devops/library-rag/umap/web)
|
* in c0smere_devops/library-rag/umap/web)
|
||||||
* src/styles/reading-map.css ← the chrome
|
* 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
|
* The payload is regenerated on cyrion by `library-rag-export.service` (hourly, gated on a
|
||||||
* auto-build rebuilds the site, not the data. New reading only reaches this map when
|
* fingerprint of the corpus and the located highlights) and written straight into this
|
||||||
* someone re-runs `export.py` and commits the result. See library-rag/umap/PLAN.md §7.
|
* 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';
|
import '../styles/reading-map.css';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user