I do think there is clearly overlap yes, we should probably put these functionalities into the same subcommand group.
That said, this might be tied into some low level CAS manipulation stuff, we have to consider:
If we want any of these CAS only (not "artifact") related functionality should be exposed in the CLI
If we do end up exposing these internals, the things which pertain only to CAS but not to BuildStream usage, should probably be split out.
I also think we need a proposal on the ML for the refs related stuff; from a glance of this report; I think this means we allow the user to tag specific things with symbolic names for convenience. Sounds interesting but raises the question of whether we should allow these symbolic names to be pushed to an artifact share, I think this needs discussion.
I would be inclined to avoid exposing CAS specific functionality to the CLI, however the base ArtifactCache class has enough functionality to allow us to clean and provide a status on the cache in use.
As for the refs commands, that'd up to @esodan to elaborate on.
We're still missing a full-clean operation, and I'm not particularly fond of set-ref personally (and this sort of option generally hasn't seen much contemplation).
Any other use cases are covered by #773 (closed), I believe, so let's close this issue.