feat(linkage): ADR-0032 B.2 lands for the pkgsym arm — bind + closure stub live; asdf getcwd forward-ref fixed; replay boot 171G -> 145.7GVerified
The pkgsym call arm is now fully on the ADR-0032 Stage B shape:
bind-and-retry for unbound cells (ADR-0031 rule-2 raise — the
cave#301 wrong-bind fallback is retired at pkgsym call sites) and
the shared closure-cell stub for non-raw cells. Neither path
records a call patch, so every pkgsym site vanishes from
*ag-patches*: the asdf fasl replay drops from 171.5G to 145.7G
instructions (-15%) — the first shipping increment of Stage C's
per-site-linking retirement. Safe only after cave#317's root fix
(inherited names no longer mint package-own twins, so a
package-homed record with an empty cell is an honest undefined
function).
The migration immediately exposed a latent bug in funcl's OWN asdf
port: uiop/os's #+funcl getcwd branch called parse-native-namestring
UNQUALIFIED — a forward reference into uiop/filesystem read in
UIOP/OS (interning UIOP/OS::PARSE-NATIVE-NAMESTRING, internal,
never defined) that only the retired name-keyed fallback ever made
work; even the adjacent #+sbcl branch is sb-ext:-qualified for the
same reason. Fixed with CL:PATHNAME (equivalent for a well-formed
unix directory string). ag-linkage-bind's package-homed raise now
prints the QUALIFIED symbol first — that diagnostic found this in
one run.
The baked (CL-homed) arm keeps the B.1 name-keyed fallback for
non-raw cells: routing THEM through the stub reproducibly dies in
uiop/package ("__G63__ expected 2, got 4") — retested post-#317,
genuinely independent, arm-specific. cave#316 carries the sharpened
facts and the promoted hypothesis (the hosted evaluator's
cons-shaped %CLOSURE reaching a CL-homed cell via eval-when).
Verified: 8/8 sharded suite, smoke, spike suite 16/16, alexandria
via the auto-loaded fasl, 12/12 package edge probes, closure matrix
(pkgsym stub path; the baked arm's closure-cell probe returns the
fallback's name-keyed result by design until cave#316).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By:
Claude Fable 5 <noreply@anthropic.com>