A `reset --hard` content deploy leaves Grav's compiled-Twig/page cache stale, so the first visitor pays the recompile. `remote-warmup` clears the cache then crawls the public site (homepage + trips listing + every trip page linked from it) to pre-render pages. Grav has no native warmup command, so it's an HTTP crawl — which also doubles as a smoke test (non-2xx pages flagged). Wired into REMOTE_TARGETS (-test/-prod variants) and added as the final step in both deploy-cycle.md phases. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDS6t8wcpbwKvvrxykVQ5K