The router is the most likely place in this chain for a subtle, expensive bug. Translating a call between two engines means reconciling two type systems, two ways of metering work, and two ideas of what should happen when something fails halfway through. Every comparable chain that has tried this has found its worst bugs in exactly that layer, and we have no reason to think we are different.
So it gets treated as the risk it is. Independent audit on the router specifically, not just on the two engines separately. Sustained adversarial fuzzing during the public testnet rather than only in continuous integration. The narrow allowlist at launch. And it is the second of only two components our emergency multisig can reach, which is a disclosed capability rather than a hidden one, time-locked so a pending change is visible before it takes effect.
The native engine carries more weight than it looks like it does. Because the Compute Mesh is written as contracts on it rather than baked into the protocol, a bug in that engine is a bug in the mesh. We took that trade deliberately, for the ability to change mesh mechanics by vote rather than by fork, and it means that engine's audit is a hard gate on the mainnet date rather than something that can follow it.