I've been reading the obliterate stuff. I have lots of questions but
I'll start with a few:

The initial outline for the obliterate txn for PATH_at_R is a variation
on a standard commit txn. Your plan has milestones for extension
first to multiple revisions and then multiple paths at multiple
revisions. Why that order? To me it would appear easier to extend
first to multiple paths at a single revision since that is again a
variation on a standard commit txn. I suppose users want multiple
revisions more than they want multiple paths?

Given the similarities between commit and obliterate should obliterate
get all three (start-, pre-, post-) hooks? Should the pre- hook get
the txn ID as a parameter rather than the obliterate set on stdin?
Are you planning to obliterate multiple revisions in a single txn?

I see you have added an RA obliterate_path_rev function. I realise
it's just a preliminary but does it represent an intention to pass the
obliteration set over RA rather than driving an editor? An editor
drive would seem to be better simply because it again looks more like
a commit.