I’d be happy with SQL access, which I think gets to roughly the same place.

I’ve done something like what you’re talking about before for a CMDB, though it was one way YAML -> DB sync. Many to many relationships were a pain to view, there’s not a great way to put them in YAML that makes them easy to read. Can’t embed them because then you have multiple copies and which one is the real one. References suck because you can’t see the relationship and the related objects at once.

The real killer is permissions, though. Your sync tool basically has to have admin privileges, which means permissions have to be checked at merge time, and then you’re rebuilding the entire permissions flow as a git hook.

SQL with RLS is capable of implementing permissions in a way that works for both API access and direct SQL access. I get the feeling few companies do it, but they could.