Hi Jordan,
If you haven't already seen it,
https://shakebuild.com/cloud has a lot of useful information. There are also some notes in
https://ndmitchell.com/downloads/paper-build_scripts_with_perfect_dependencies-18_nov_2020.pdf S2.5 around cloud builds, most of which apply to Shake.
Multiple users should be able to use the same `--shared` directory simultaneously. There is care taken to put the files somewhere else, and then atomically overwrite them. I would say it isn't the most tested code, but I'm unaware of any bugs with it. I suspect non-deterministic build results won't be a problem, other than potentially reducing caching if two users simultaneously build different variants. The code was designed to work over an NFS mount, but I don't actually have one to test, so I hope it works, but I can't promise it.
For eviction, there is `--share-list`, `--share-sanity` and `--share-remove`. I think you can evict one file at a time, and it should work, but I don't remember the details. My personal inclination would be to delete everything on Saturday evening, run the CI jobs (which will be a bit slow) and then use that as a mostly-relevant cache. I'm sure you can do smarter things, but if you can avoid it, that's always better.
Good luck! The shared cache has been used in real life, but not by that many people, so let me know how you find it.
Thanks, Neil