Can core SNS canister ids ever change?

Out of curiosity, can an SNS’s root, governance, index, swap, or ledger canister ids ever change, or are they meant to be fixed for eternity?

I’m not referring about dapp canister ids, which can be removed and re-added later. Just core canisters.

For example, could an SNS put up a vote to replace (remove and then add) the canister id of it’s ledger with another ledger (different canister id)?

Hi @icme ,
This is not possible. The SNS canisters know each other’s IDs and there is currently no functionality to change this.