I like the way you're splitting these up. I'm doing something similar with my stack:
https://git.wisehodl.dev/explore/repos
Roots as foundational libraries. Small, focused database and networking, individual extension and semantic layer libraries, etc. all composed into the programs you want to make and all individually replaceable as policy disputes arise.
