I still disagree with their decision to make libc THE system interface. I understand why it's important to provide a compatibility layer, bit, ideally, I would like to see a Linux-like (potentially semver-versioned) stable sycall API, or at the very least something like libsystem, i.e. a thin wrapper around technically unstable syscalls API.
The wild thing here with a microkernel is that the syscall API to the actual kernel should be theoretically really small right?
I get the various little services might change, but ultimately the kernel supporting posix like threading and memory operations should be mostly enough?
The fact that binaries tend to rot on Linux shows that maybe only having a stable syscall ABI the best way to handle things either.
The kernel ABI is notoriously backwards compatible (the famous "we do not break userspace" and all). The primary reason why binaries rot on Linux is GLIBC and other shared library dependencies. I still can execute a MUSL binary compiled more than a decade ago without any issues.