crates/namir-clap/src/worker_jobs.rs:132
spawn_recall builds its resolver with a hardcoded empty root list, so LibraryResolver::resolve_library_relative (namir-library/src/resolver.rs:45) can never succeed in the plugin. namir-app passes the real roots (namir-app/src/worker.rs:353), obtained from LibraryService::roots() -- the same service this crate already holds.
A preset or state document carrying a library_relative reference (FR-STATE-070's first resolution candidate) resolves in the standalone app and falls through to hash search or reports Missing in the plugin: an FR-CFG-020 parity divergence, and the same "the two shells' library wiring drifted apart" failure shared.rs:44-55 documents at length one layer up. Carries no TODO or uncovered: marker.
Fix: read the roots off the held LibraryService instead of Vec::new().
crates/namir-clap/src/worker_jobs.rs:132spawn_recallbuilds its resolver with a hardcoded empty root list, soLibraryResolver::resolve_library_relative(namir-library/src/resolver.rs:45) can never succeed in the plugin. namir-app passes the real roots (namir-app/src/worker.rs:353), obtained fromLibraryService::roots()-- the same service this crate already holds.A preset or state document carrying a
library_relativereference (FR-STATE-070's first resolution candidate) resolves in the standalone app and falls through to hash search or reports Missing in the plugin: an FR-CFG-020 parity divergence, and the same "the two shells' library wiring drifted apart" failureshared.rs:44-55documents at length one layer up. Carries no TODO oruncovered:marker.Fix: read the roots off the held
LibraryServiceinstead ofVec::new().