handoff.json lists files captured at routing time, but the extraction-cruft cleanup later removes files extracted out of a kept archive. The Caddy file_server can only serve real files (not archive interiors), so existence-filter the art + guide rel-paths against library/<slug>/ before embedding/linking them — dropping phantom entries that would 404.