> It uses the kernel's `make menuconfig` system which seems like it occupies a bad place between "easy usable GUI" and "robust config file you can check in to git".
Are you aware you can generate a sparse config file with `make savedefconfig`? Maybe you're aware of that and it doesn't meet your definition of robust, which is reasonable.
I think Buildroot is much better engineered than Yocto, in the sense of simplicity. Buildroot is fundamentally just a bunch of make and kconfig. Yocto has some powerful features but I find it to be considerably more difficult to penetrate "what is actually happening here". I haven't had as negative an experience with Buildroot error messages, but if you think those are bad, Yocto errors are like g++ template errors circa 2010.