The Boundary (https://github.com/sasa1977/boundary) thing is interesting. It seems logical to want to put dividing lines within a monolith like this, but I'm super curious as to what problems they faced that spurred them to bring it in in the first place? Like, were internal APIs changing so fast that it kept breaking dependants? Wouldn't/shouldn't test coverage help with that? Or did it have more to do with tooling/DX? (e.g. speeding up compile times or something)
I empathize! These kinds of shifters are SUPER hard to put back together. Quite literally, so many moving parts in such a tight space. If you inadvertently bend the springs or coils too much, you could end up ruining the whole thing.
I had a similar situation happen to on a Shimano Deore shifter, which is even less complex than the SRAM you mention.
For others who have never had this "joy", it looks like there's at least one video at least partially showing what the OP had to go through: https://www.youtube.com/watch?v=nrfKQfXJgd0 Jump to ~2:00 to get a sense of how finicky this stuff is.