1. Person A does a segwit transaction and sends coins to the anyone-can-spend output on the main chain. These coins aren't really "anyone can spend" because segwit stops invalid transactions.
2. The transaction gets replayed on the BCC chain. Segwit transactions work by sending via the anyone can spend output, but since segwit is not activated on BCC, the thefts aren't blocked, and any-can-spend really DOES mean anyone-can-spend instead of meaning segwit.
Or am I misinterpreting how it works?
I thought that segwit uses the anyone-can-spend output in order to be backwards compatible. That means that legacy nodes, or unupgraded nodes that don't have segwit, are perfectly fine will "theft" transactions.
A legacy fork, that does not have segwit activated, would thus be able to replay segwit transactions, but instead of being segwit transactions they would just be normal, anyone can spend transactions that can be stolen.
Anyways, yeah it is adversarial development.
But the other side was planning on doing the same kind of stuff, with User Activated Soft Fork, and POW changes. User activated soft fork threatens the other side with theft by doing a Wipeout of the other chain.
This stuff could have been solved much earlier if Core just compromised and merged the 4MB blocksize increase.