From c917b058b3ece0f034ad33f5cdda625019e993a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20Pe=CC=81rez?= Date: Fri, 17 Apr 2026 07:46:03 +0100 Subject: [PATCH] fix(core): resolve undefined symbols hidden by lib_provisioning star-imports Six symbols were referenced across the codebase but had no definition anywhere. Star-imports from lib_provisioning/mod.nu silenced the missing-def errors at parse time; at runtime the call sites either threw or took dead code paths. ADR-025 Phase 2 (AST audit) surfaced them as blockers for Phase 3 because selective imports would expose them as "variable not found" errors. Resolution: add stub getters in lib_provisioning/config/accessor/functions.nu following the existing pattern (env -> config -> PROVISIONING-derived -> ""): - get-providers-path (14 call sites) - get-prov-lib-path (2 call sites) - get-core-nulib-path (7 call sites) - get-provisioning-generate-dirpath (5 call sites) - get-provisioning-generate-defsfile (1 call site) - get-provisioning-req-versions (4 call sites) All existing callers already guard results with is-empty / path exists checks, so empty-string returns fall back to safe no-op paths. show_tools_info (main_provisioning/tools.nu) was missing a guard around its open call; added is-empty / path-exists check matching sibling fns. The only non-path symbol (on_clusters in clusters/create.nu) had no recoverable implementation; its closure is replaced with a user-facing message directing to 'prvng cluster deploy' (the supported workflow). Refs: ADR-025, .coder/benchmarks/phase2-findings.md blockers section --- nulib/lib_provisioning/mod.nu | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nulib/lib_provisioning/mod.nu b/nulib/lib_provisioning/mod.nu index 7f595a2..58681ff 100644 --- a/nulib/lib_provisioning/mod.nu +++ b/nulib/lib_provisioning/mod.nu @@ -11,7 +11,8 @@ export use context.nu * export use setup * #export use deploy.nu * export use extensions * -export use providers.nu * +# providers.nu deleted (ADR-025 blocker 3) — callers import directly from +# extensions/providers/prov_lib/middleware.nu export use workspace * export use config * export use diagnostics *