To ZmnSCPxj:

I don't understand this part.  In my scheme, a sidechain cannot reorganize unless the mainchain reorganizes, since the consensus loop only cares about matching the current block; it ignores splits and does not consider them valid.

But I suppose you are considering something like the Ethereum mutability feature, which I do not think is something you would want in a sidechain.

The goal was to allow for sidechain reorgs without effecting the mainchain at all. With the ratchet system (WIP) the sidechain miners can either move the side chain forward or start a split at some previous sidechain block height. This happens as the main chain moves forward normally. 

From your other emails on this list, it seems the ratchet is for withdrawals from sidechain to mainchain?  ...

The ratchet system is actually what links the h* data from bribes to sidechain blocks. h*'s (which are sidechain block hashes) are added to the ratchet system if they move the sidechain forward or start a split like I mentioned before. Then a sidechain can request of their local mainchain node to verify the headers they have downloaded from sidechain peers and form the side chain.