A Craft macOS CI job restored an exact Pantry dependency cache, then Pantry 0.11.120 returned PathAlreadyExists for git-scm.org@2.53.0. Fourteen of fifteen native packages installed. This happened before the managed Git provider check or Vulkan ABI compilation.
The exact colliding path and root cause are still unknown. This issue must not be treated as fixed merely because the next install passed.
Observed failure: Craft run 40082460190, macOS Vulkan ABI job 120843491822.
The subsequent e3116292 macOS job 120848458354 restored the identical exact cache key and installed the same pinned packages successfully. Its managed-Git check, public graphics consumer and independent ABI tests passed. No cache removal, cache-key change, provider substitution or version change was used between these jobs.
Both jobs used the immutable Pantry action at 3de609e1a7e305393b3d94e2848d859b39c5b5de, native CLI 0.11.120, and the package cohort bun.com@1.4.2 git-scm.org@2.53.0 ziglang.org@0.18.0-dev.146+35accc06e.
The exact restored cache key was:
pantry-v5-darwin-arm64-ff2ba045973404eb0ee1f32ab34cb954bba2c97936d75c7e9e320d7e1e195151-0.11.120-224b16d07b5e101a6cdbe8262610ef49f56f75ea573b4d481e608249c4268c0a-d105178aaea0807b4c81818a43ae2c64efe72af8d1a072cb659aad4ddb6b85cb-bun.com@1.4.2 git-scm.org@2.53.0 ziglang.org@0.18.0-dev.146+35accc06eLocal investigation used unmodified original native CLI archives. A normal fresh Git install with 0.11.126 passed. Repeated cached installs passed 100 times with 0.11.120 and 100 times with 0.11.126 in an isolated project prefix. This does not reproduce the failed runner's restored tree, so it does not establish a fix.
Craft e3116292 adds failure-only evidence capture. On the next setup failure it records file modes and symlink targets under the restored Git prefix and .bin before a bounded verbose diagnostic install. The original required setup failure still fails CI. The cache key, package versions and provider checks remain unchanged. This diagnostic branch was not triggered in the successful subsequent macOS job.
Acceptance:
- Retain an actual failing tree or a public-interface regression that identifies the colliding path and operation.
- Repair the owning native installer or cache materialization code, preserving package identity and installed-consumer behavior.
- Exercise repeat installs, restored/relocated prefixes and relevant filesystem concurrency at the failing boundary.
- Keep required setup failures visible. Do not clear the cache, substitute providers or skip acceptance checks to obtain green status.
- Verify the source fix and maintained public release before downstream adoption.