From b684fa5113239e595ecd1ccbcbd267ebbed9e62d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 15 Jun 2026 18:16:47 +0300 Subject: Persist the EXIF cache in a volatile ./cache dir parallel to ./dist The per-photo `identify -verbose` cache lived in $DIST_DIR/.shuriken-cache, which is inside the throwaway staging dir and the published dist: a fresh/cleared dist lost it (forcing a full, slow re-identify of every original) and it got deployed to web servers. Move it to a volatile ./cache/exif directory parallel to ./dist (dirname of DIST_DIR resolves to the working dir in both the staging and direct contexts). Now an unchanged photo skips identify on every regenerate, the cache survives a cleared dist, and it is never deployed. --force clears ./cache/exif once up front (clear_exif_cache) and the run repopulates it, so force still does exactly one identify per photo. Dropped .shuriken-cache from the staging-copy loop. Tests and the audit doc updated for the new cache location. Co-Authored-By: Claude Opus 4.8 --- docs/stats-exif-audit.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/stats-exif-audit.md b/docs/stats-exif-audit.md index 7076254..1b1023b 100644 --- a/docs/stats-exif-audit.md +++ b/docs/stats-exif-audit.md @@ -13,8 +13,8 @@ library (there is none to point at): * `src/lib/imagemagick.source.sh` runs `magick identify -verbose ` (or `convert -verbose info:` when only the legacy `convert` is present). -* `src/lib/album.source.sh` caches that raw output per photo under - `$DIST_DIR/.shuriken-cache/exif/.txt` and parses it. +* `src/lib/album.source.sh` caches that raw output per photo under a volatile + `./cache/exif/.txt` (parallel to `./dist`) and parses it. The parser detail that drives every decision below: shuriken only reads EXIF through this regex (`photo_exif_details_html`, `_photo_exif_values_to`): -- cgit v1.2.3