Key the pull cache on ETag, because sizes repeat and versions do not master
`ac-os pull` decided whether its cached vmlinuz-slim and initramfs were current by comparing Content-Length. That check fails in exactly the case it exists for: consecutive kernel builds come out byte-identical in size, so a slim kernel cached from an earlier release matched forever and was never refetched. On 2026-08-11 the staged /tmp/ac-os-pull/vmlinuz-slim was two releases old with a size matching the current one exactly. flash-mac writes the full vmlinuz, so it never reached a stick — but it sat one step from the flash, and it is the same failure as the oven publishing a stale initramfs under a fresh build's name. The ETag is the honest key. It is treated as opaque: Spaces returns a plain MD5 for simple uploads and "<hash>-<parts>" for multipart, and which one it is does not matter — only whether it changed since the bytes on disk arrived. It is stored beside each file and compared on the next pull. The `|| true` on both downloads is gone too. A failed transfer used to leave the previous release's file in place, ready to be flashed as though it were current; now it removes the partial file and exits.