#304 asdf fasl replay: aborts in uiop/image with 'The value ? is not a LIST (car/cdr)' (next layer after cave#303)
closedResidue after cave#303 (c769fc0). The asdf fasl (fasl-compile asdf.lisp, ~250s; load 0.12s) now survives uiop/os — designator funcall works, (uiop/os:detect-os) => :OS-UNIX — and replays through uiop/pathname, uiop/filesystem, uiop/stream into uiop/image, where the load aborts with:
; Error: The value ? is not a LIST (car/cdr). | in: LOAD
Measured post-abort (surviving session, package left at UIOP/IMAGE):
- packages present: UIOP/OS UIOP/IMAGE UIOP/STREAM UIOP/PATHNAME UIOP/FILESYSTEM = 1 1 1 1 1; UIOP/LISP-BUILD ASDF/COMPONENT = 0 0 — so the abort is inside uiop/image's replay, before uiop/lisp-build.
- (fboundp 'uiop/image:restore-image) = T — the package's early defuns installed.
The printed offender is '?' (unprintable value) fed to car/cdr in some CO-RUN effect thunk. Same onion pattern as #302 -> #303: each fixed divergence unmasks the next form downstream. Repro: (fasl-compile "asdf.lisp" X) then (load X) in a fresh image. Next step: bisect uiop/image's top-level effect forms (register-image-restore-hook / image-dumped-p setup are the first CO-RUNs there), or gdb break on the car/cdr type-error raise during the 0.12s load.
FIXED in 2beac09. The '?' datum was the UNBOUND MARKER, and the mechanism was a VALUE-CELL SPLIT for uiop/image's defvars — the same first-touch-home disease as cave#303, on the KIND-2 channel:
Fix: ag-global-door-home-name — KIND-2 homes resolve through the SAME accessibility door as cave#303's KIND-4 fix (reader-intern on the emission-site package; CL/CL-USER/KEYWORD and gensym names keep the record-slot fallback). The loader then interns every channel's cell on ONE record.
After: (symbol-value 'uiop/image::image-restore-hook) => (SETUP-TEMPORARY-DIRECTORY SETUP-COMMAND-LINE-ARGUMENTS SETUP-STDERR SETUP-STDOUT SETUP-STDIN) — the failing CO-RUN completes, all 5 restore hooks register and run. The load proceeds past uiop/image and dies one layer deeper at uiop/lisp-build's define-package replay with 'assertion failed' — filed as its own issue. Gates: sharded suite 8/8, spike oracle green, --hosted 42, fixed point held.