The fact that your implementation occurs twice in each call is not by accident: The first is used to compile the lisp-code that makes up install-asdf; the second is the target you're upgrading. They need not be identical; in particular, you could use sbcl to upgrade cmucl's asdf via
sbcl --load ./tools/asdf-tools install-asdf cmucl
which comes in handy now that building/running asdf-tools via cmucl itself is broken.
How do I build an executable with ASDF-3?
cl-echo is a sample project created to show-case basic ASDF-3 features like asdf:program-op.