I have 2 Nexus core switches that are vPC peers. The downstream switches are Meraki switches that are LAG uplinked to the 2 cores in a vPC config. So there are no loops here since they are vPC. I have no issues with Spanning-Tree but actually wondering why I don’t.
The Nexus switches are running default RPVST, and the Meraki’s only run RSTP. VLAN 1 is not trunked between the switches. So, as far as I understand, these are not compatible. But they still send BPDU’s between each other, right? Why isn’t Spanning-Tree incompatibility blocking any ports? Or is it simply the way vPC works, but if someone plugged in a switch that isn’t vPC configured, causing a loop, then I would have issues because of the incompatibility? Furthermore, if I simply trunk VLAN 1 between them, does this solve my incompatibility?
There are two issues that you have touched upon here. The first has to do with why there are no blocked ports. I think you’ve answered this question yourself:
Regardless of what STP version is running on your devices, you have no Layer 2 loops in your topology. So even if STP wasn’t running at all on your devices, your topology would work just fine. So STP is not invoked at all in your setup so it will remain operational.
The second issue has to do with RPVST+ and RSTP compatibility. Indeed these two protocols are incompatible. However, when Nexus switches running RPVST+ interact with a switch running standard RSTP (like your Meraki switches), RPVST+ will fall back to a common instance of RSTP for all VLANs. So compatibility is restored, and that is why you see BPDUs being successfully exchanged between devices.
You still wouldn’t have any problems because if a loop was created, RPVST+ would fall back to RSTP and would still remain operational.
Including VLAN 1 in the trunk would not affect the STP topology or operation at all.