Further down in the document, there is a more comprehensive explanation of how cache names are determined. I will not repeat what’s written there.
Does this mean that I cannot make a “shared” cache for multiple jobs?
That is correct. If two jobs differ in any of the factors mentioned, they do not share the cache. The reason here is that, when multiple jobs share the same cache name, the cache can corrupt due to simultaneous access and it can cause a lot of problems.
all aim to address this issue to varying degrees. We have ideas about how to strike a balance (useful caching strategy while keeping the likelihood of cache corruption to a minimum), but the implementation would still need to be discussed and the actual work prioritized.