- cover_file uploads in Directus land in the public blog-assets MinIO bucket; API resolves them to storage.sase.tr URLs (Directus itself is Tailscale-only) - POST /blog/cache/purge (automation token) lets a Directus Flow drop the 30-min list cache the moment a post changes in the CMS - blog list + detail pages now render purely from the API; the 4 hand-authored posts were migrated to Directus earlier and the JSX copies are removed Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>