lith: fix stale-code-after-deploy (short TTL for code modules + CDN purge) master
Runtime .mjs (kidlisp/disk/graph/…) are STATIC sub-imports of disk.mjs, so they don't inherit the ?v=Date.now() cache-bust boot.mjs applies to top-level modules — they were served from a 1h Cloudflare edge cache, pinning clients to pre-deploy code. - Caddyfile: split code modules (.mjs/.js/.css/.lisp/.lua) into a short-TTL bucket (max-age=60, swr=300); static assets (fonts/images/media/json) keep the 1h/24h cache. - deploy.fish: purge the Cloudflare cache (purge_everything) after restart, so a deploy is visible immediately. Token read from env or vault service env; skips cleanly if absent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>