(asdf:load-asd "thepackage.asd")
I believe load-asd requires an absolute pathname.
Have you tried:
(asdf:load-asd (uiop:merge-pathnames* "thepackage.asd" (uiop:getcwd)))
That should find "thepackage.asd" in the current working directory. I should note that the call to getcwd is redundant on most lisps, as the default pathname and the current working directory are usually the same, but nothing in the specification requires them to be.
Regards, Jason