Lisp workers
Lisp runs in two places: the prompt window evaluates in the live image, and the agent explores in disposable, heap-isolated SBCL workers it can create, name, and throw away.
The prompt window is a REPL
A line starting with ( evaluates in the active image,
with your privileges, and the model sees both your form and its
result. That makes the prompt window the shortest path to exact
local actions:
(describe 'application)
(resource.read :uri "workspace:.")
(prompt (read-file "review-notes.org"))
Disposable workers
The agent's lisp.* tools run in named REPLs: separate
SBCL processes that share nothing with the active image. A worker
starts pristine or boots from a saved image, accumulates whatever
the task needs, and can be reset or stopped at any time. Nothing a
worker does leaks into the agent itself:
(lisp.eval :form "(+ 20 22)" :repl "scratch")
- lisp.eval
- Evaluate one form in a named REPL.
- lisp.scratchpad-run
- Load a conversation-scoped scratchpad file into a REPL.
- lisp.paren-check
- Fast delimiter check for edited Lisp, before anything loads.
- lisp.load-system, lisp.run-tests
- Load an ASDF system, or run its tests, in a worker.
- lisp.reset, lisp.stop
- Restart a REPL from pristine or a saved image, or stop it.
- lisp.images
- List saved worker images with parentage and notes.
Worker images
A useful worker state can be saved as an immutable image with a note recording why it exists, and later sessions boot it by name. Saved images are experimental tools: the active agent never selects one. The durable paths for real changes are private image commits and generations, covered next.