#264 asdf find-system: automatic *central-registry* search finds the .asd but doesn't load/register it (needs explicit load-asd)
closedOn clean baseline (b6b8c5e), (asdf:load-system "alexandria") after (push "…/compat/alexandria/" asdf:central-registry) fails with MISSING-COMPONENT — (asdf:find-system "alexandria" nil) returns NIL.
BUT every piece works in isolation:
- system-definition-search-functions includes SYSDEF-CENTRAL-REGISTRY-SEARCH
- (directory-pathname-p "…/alexandria/") => T
- (asdf::sysdef-central-registry-search "alexandria") => #P"…/alexandria.asd" (FINDS it)
- (asdf::probe-asd "alexandria" (parse-namestring "…/alexandria/")) => the .asd path
- (asdf::load-asd "…/alexandria.asd") => full SYSTEM object, registers alexandria
So search-for-system-definition returns the .asd path, but find-system/locate-system doesn't turn that into a load-asd + register. Workaround: call (asdf::load-asd "…/alexandria.asd") explicitly before load-system.
Next: trace locate-system → the branch that should load-asd a found pathname; likely a mini-clos generic dispatch or if-let/return-from mismatch swallowing the result.
FIXED — find-system via central-registry now finds, LOADS, and REGISTERS the system (sysdef-central-registry-search HIT -> load-asd -> registered + session-cached; no explicit load-asd needed). Evidence 2026-07-11: (push asdf:central-registry) + (asdf:load-system "alexandria") completes a REAL multi-file component load on build/funcl; (alexandria:flatten '(1 (2) 3)) => (1 2 3); 8/8 breadth probes incl. closure-returning curry/compose. Fix chain: ADR-0028 closure records e17d39b + eql specializers 822a554 + macro-aware eval 0f0eed8 + REPL robustness 21f15f2.