ASSET_VERSION only proves *a* deploy happened recently, not *which* commit -- not enough to answer "did my push actually deploy, or am I looking at a stale browser cache" (today's actual answer: neither -- deploy was current, a GeoJSON cache predating a code change was just never invalidated, since it only checks the source .gpx's mtime). The CI deploy job now writes REVISION (short SHA) before dropping .git; app.rb reads it at boot, falling back to "dev" locally/in CI's own check job where the file never exists.