Validates <DST> (rejects reserved names like list, clone, …).
Refuses a self-clone (src == dst).
Resolves <SRC>’s recorded Python version from its metadata; surfaces a
clear CorruptedEnvironment error when metadata is missing so you know
recreate-from-scratch is the right next step.
Creates <DST> at the same Python version.
Unless --no-packages, lists the source’s installed packages via the
venv’s own pip and re-installs them pinned (name==version) into the
destination.