I'm only concerned with calling the feature done, not the details of interface compatibility. Let me give a historical example for clarity. I built a data path for an important sensor. The hardware team made their board rev (not in source control), the FPGA modifications were made, the bootloader had to be updated, the kernel had to be updated, application middleware had to be modified, the application had to be modified, and the networked application talking to that code had to be updated.
You can certainly make the argument that all of that should belong to a monorepo (and I would agree), but it's not a painless or easy argument.