I would think that common lisp being image-based and so therefore having tons of implicit state that is not manifest in code is a huge downside to programming with an LLM since the state of the system is not easily reproduced from program text.
Common Lisp isn't image based. I mean, you can store images (although that's not a standardized thing), but that's normally what's done. In the normal workflow code is in files that are compiled and loaded into a running image; changes are made to the files and then they are recompiled as needed (using dependencies between the files to do only the files that have to be recompiled/reloaded).
normally not what's done
Why wouldn't you have code backing the image? Sane people do. The main exception is when you are working on code you know is meant to be thrown away (testing out a library for instance, but not building your actual application).