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>
Anthony Green2026-07-14 22:04:51 -0400 22b6efa01d63ba9a22a6ad83a4a532ea7ad7e634
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>