Unfortunately this gets messier once we take the edges into account. We have to do EO and get the LD/LF/LB edges out of the R layer, which probably takes around 5 moves, and we have to track CP throughout that. (Or if we leave the M slice free, we don't have to do EO, which might be better?)

Yeah, this was one of my biggest issues with the idea. Forcing left block every time alone takes some extra moves (it's more like 2-3 on average but I don't like it since it means we'd have to track every left block edge during EOLine to fully plan CP in inspection). Perhaps the best way to go about it would be to force left block while placing the corners into one of those states, but then the current method I have of detecting CP breaks down.

I don't think this works. Just because it's invariant under ⟨R,U⟩ doesn't mean it has to be invariant under every 2-gen subgroup.

This should work, though it's likely I'm not being very clear. Since any 6-corner permutation can be reduced by a single swap on U, and since any 2gen scrambling <L,U> won't change the permutation of the U layer corners wrt each other when DLF and DLB are once again solved <L,U>, any permutation of the 8 corners in which DLF and DLB are solvable <L,U> has a single swap that makes all 8 corners solvable by <L,U> and then <R,U>. This swap will be invariant under <L,U> in the sense that the same pieces (not necessarily the same positions) will need be swapped after <L,U> to solve DLF and DLB (since the only possible permutation the <L,U> business could've done given that DLF and DLB have been solved once more and that <L,U> is 2-gen group is something in <U> which of course doesn't do anything to CP wrt <R,U>)

So we take the key swap we get from tracking after we've forced left block <L,U>, and we convert it into a single swap on <L,U> that doesn't involve the DLF or DLB pieces. This swap doesn't change after solving the left block, so if we swap now then corners are solvable by <L,U> and then <R,U>, but if we solve left block <L,U> now and then swap the same pieces later (when they are on the U layer) the rest is still solvable <R,U>.

This isn't as good as the same positions need be swapped, but looking for identity of two pieces is still much better than looking at the relation between 4 i.e. Porky v2.