Fix a recurring gotcha where scp'd static file changes to the Hugo site weren't being picked up by the live URL. The interactive HTML artifact at eric-turner.com/memex/signal-and-noise.html reverted to a stale version TWICE because Hugo's `--poll 1s` file watcher doesn't reliably detect changes to files in new static/ subdirectories — the file on disk updates, but Hugo's in-memory cache stays stuck. Root cause: Hugo runs as `hugo server --poll 1s` with a Docker bind mount on the showcase directory. The file watcher catches top-level changes but misses subsequent updates to subdirectories that weren't present when Hugo first scanned static/. Result: first scp works (Hugo discovers the new subdir), later scp updates are silently ignored. The durable fix: touch hugo.yaml after any scp. Hugo's config-file watcher is separate from the static/ poll watcher and is reliable — touching hugo.yaml triggers a full rebuild which invalidates the stale static cache. This script wraps scp + touch + an optional --verify that fetches the live URL and compares the title and tab-count against the local file. Use this instead of raw scp for any future deployments of the interactive artifact. The lesson is also recorded in ~/.claude/CLAUDE.md under "Deploying to eric-turner.com (Hugo + Strapi site)" so future sessions don't repeat the same mistake.
3.4 KiB
Executable File
3.4 KiB
Executable File