If a Codefresh pipeline cache miss makes no sense, look at the shared volume lifecycle, not the cache config. Files outside .gitignore get purged on clone, and parallel builds can start from a fresh volume.

Context: From the official Codefresh pipeline caching docs. The pipeline cache is tied to the shared volume, not to the pipeline definition. The clone step purges files that are not in .gitignore, and concurrent builds can start with a fresh volume, so cached files you expected to be there may be gone. People debug their cache steps when the real culprit is the volume lifecycle.