The structure you are describing here is hard for me to visualize. In our monorepo we have a set of core libs (generalizing here as they span multiple technologies and stacks) that are shared between projects inside a mono repo. Package managers are requiring from the compiled lib code. Renaming hasn't really been a concern for us. But I think you are describing projects that are massive monorepos themselves, and core fixes have to be backported between them. I realize you probably can't give specifics, but am I hot or cold here?