The more I the I think about storage and referencing back to previous edits I wonder if editable nostr events should require the previous event id as part of the metadata. This is akin to how git works and is also similar to the way SSB (which nostr is based on) chains events together. Forks in SSB were always problematic because the user timeline relied on having a single chain of events, but there is still no reason we can’t use this simple mechanism to track a chain of events for version history of editable nostr events. Then there would be a protocol native method to establish the order of versions, which would make everything you’re trying to do easier (I think)