EDIT - No-one has objected, so I'm going to go ahead with this.
EDIT AGAIN - Passed and executed correctly. Thank you to everyone who supported it!
I'm interested in the communities views on whether the following is technically feasible and whether they would likely support it, please.
We're coming to the end of the Kabocha parachain lease (paraid 2113), and we've secured another lease on another paraid (2268). Unfortunately, I hadn't realised that the parathread would instantly upgrade to a parachain and lock lease swaps, so we're going to need to use a root referendum to resolve it.
However, there are a few other longer term issue that we'd like to resolve at the same time, if possible. The current paraid is on a regular single owner account. We'd like to move it to another account - probably a pure proxy so we can update control of the account as key people move in and out of the project. I believe there isn't currently a way to update the manager of a paraid?
With that in mind, and noting that Kabocha will revert to a parathread in a few days, I'd like to set up a root track referendum that does the following in a batch (in order):
<wait 2 epoch for offboarding>
<wait 2 epoch for onboarding - might not be strictly necessary>
My assumption is that this will move the paraid to the new account, offboard 2268 and onboard 2113 as parachains, and Kabocha should start making blocks again. Is there anything fundamentally wrong with this assumption? Or, indeed, is it too complex for the community to allow, perhaps?
Validation wise, we can set remarks from the accounts involved (the current manager accounts for the two paraids and the new pure proxy), to confirm intent. Is this sufficient?
About Kabocha, for anyone not familiar
EDIT to add validation on-chain remarks
New paraid 2113 manager account, via proxy
Old paraid 2113 manager account
EDIT to add notes on deposit for forceRegister()
The fee for setting the parachain PVF and head is just under 280.3KSM (this is more than the fee when Kabocha was first registered). I will use the current fee in the forceRegister() extrinsic.
EDIT: In case it's useful for anyone in future - this is the preimage I used:
Threshold