Paradise Road is where the race is run and the old champ finally loses. Phase 7 retires the legacy Post → Tags edge — the whole point of the block was to replace it. But you cannot just delete it: real tags live in production. So the phase is a sequenced migration — backfill first, verify, then retire — and the order is load-bearing because the migration tool itself reads the very edge it is about to remove.
End state: the tag block, through its TagBlockItems, is the sole owner of post↔tag. The Post.tags M2M and its physical tag_posts table are gone. Goal 3, done.