Cloudflare was caching /static/style.css and /static/app.js at the
edge for up to 4 hours (its default Browser Cache TTL, since the app
sets no explicit Cache-Control), so deploys could look like they
hadn't landed even though the origin was already up to date. A
content hash of style.css/app.js/htmx.min.js, computed once at
startup, is now appended as ?v=<hash> to their URLs in base.html, so
every deploy that changes those files produces new, never-cached
URLs and needs no manual cache purge.
Also commits the live-sync-updates design spec, which was written
but never staged earlier in the session.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Documents the color/type/layout token system and the next-sync
countdown evolution agreed on with the user, ahead of implementation
planning.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>