Z mojej perspektywy, to jeśli masz dwie biblioteki, z czego jedna jest niezależna a druga zależna od pierwszej, to wersjonujesz je osobno.
Ewentualnie, jeśli chcesz zachować jakąś zgrubną wspólną część, to trzymałbym się semantic versioning i trzymał kompatybilność między wersjami głównymi (choć to też się może okazać niepraktyczne, bo zmienisz coś w module zależnym, major tam skoczy o 1, a zależność pozostanie wersję do tyłu).
Generalnie ciężko powiedzieć na 100% nie siedząc w projekcie (bo jest pytanie jak często będą zmiany w poszczególnych, jak często przewidujesz użycie łączne vs tylko low-level), ale tak czy siak wydaje mi się, że więcej sensu jednak ma wersjonowanie osobne + sensowna dokumentacja w momencie kiedy coś się zmienia.
Ale pamiętaj żeby wrócić tu za rok i podsumować doświadczenia niezależnie od tego, co wybierzesz ;)