So here is my point of view.
We are currently focused on making full network upgrades via export and restart as painless as possible. This is important b/c
- We anticipate consensus, data store and peer to peer layer upgrades will be important for the foreseeable future.
- Ease of forking the blockchain is essential to censorship resistance.
At this point in the evolution of the network, we think building cultural norms around this kind of full stack upgrade is best for the health of the network.
Our friends and partners are also experimenting with on chain upgrades via governance parameters.
In the Ethermint project, we learning about routing transaction into systems that support on-chain code. What we learn from this should be also relatively easily applied to a WebAssembly VM allowing zone developers to more easily design on chain code into their applications.
One could imagine wrapping the entire Cosmos stack in some kind of higher level orchestration engine that would enable triggering switching the entire software stack based on chain events.
Finally if the approach substrate has taken really proves itself, it wouldn’t be that much work to make substrate based chains compatible with Cosmos.