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
docs/
If you're Mischa
Doing something operational? → guides/
- Posting a journal entry
- Managing GPX files
- Switching to a new trip
- Rebuilding local dev from scratch
Checking project status? → working/
Design or architecture decisions? → reference/
If you're Claude
Always-loaded project rules → CLAUDE.md (repo root)
Active specs and plans → working/specs/ and working/plans/
Stable facts → reference/
Raw research input → research/