Changed cachebusting strategy.
It used to use use an uncached iframe where all the content would go.
Now the page starts empty. The top level HTML injects a tiny bit of uncachable JS,
The uncachable JS loads a huge blob of cachable fingerprinted JS.
That cachable JS has to add its own HTML and stuff.

So my DOM will start at the top level, and not in an iframe,
and it will still be served fresh within five seconds of my git push.
The downside is that web crawlers will have to execute tons of JS
before they can see the content.

Workarounds. Blarg!