How does this compare to zheap? I believe zheap made some similar design choices (undo based and avoiding the wraparound problems), though the replication features seem unique to oriole.
Also, I have to mention that zheap development is inactive for now. And its undo implementation was never complete. Zheap undo works only if you don't update any indexed column. Otherwise, it works as plain heap with write-amplification and bloat.