From f289b95cd1c76cd4ea335a2888925666326629fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20Pe=CC=81rez?= Date: Fri, 17 Apr 2026 08:38:42 +0100 Subject: [PATCH] refactor(providers/extensions/plugins): selective imports batch (ADR-025 L2/L3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three unrelated files grouped in one commit because each is a mechanical 3-5 star -> selective conversion with small cleanups. providers/loader.nu (L2): registry.nu [4 symbols] logging.nu [2 symbols] interface.nu DROPPED (dead) Note: dynamic `use ($provider_entry.entry_point) *` at line ~173 is intentional runtime dispatch; not convertible. extensions/loader_oci.nu (L2): logging.nu [3 symbols] oci/client.nu [7 symbols] loader.nu [4 symbols] — fixed comma-separated list syntax quirk config/accessor DROPPED (dead) extensions/cache DROPPED (dead) plugins/mod.nu (L3 facade): auth.nu [1 symbol] kms.nu [8 symbols] secretumvault.nu [9 symbols] config/accessor DROPPED (dead) + added `use utils/interface.nu [_ansi]` — _ansi was used in body but previously arrived through implicit star chain; now explicit. Validation: all three nu --ide-check 50 -> 0 errors. Refs: ADR-025, .coder/benchmarks/phase2-transitivity.md --- .../lib_provisioning/extensions/loader_oci.nu | 13 ++++++----- nulib/lib_provisioning/plugins/mod.nu | 22 ++++++++++++++----- nulib/lib_provisioning/providers/loader.nu | 12 +++++++--- 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/nulib/lib_provisioning/extensions/loader_oci.nu b/nulib/lib_provisioning/extensions/loader_oci.nu index 093f5a6..57dda73 100644 --- a/nulib/lib_provisioning/extensions/loader_oci.nu +++ b/nulib/lib_provisioning/extensions/loader_oci.nu @@ -1,11 +1,14 @@ # OCI-Aware Extension Loader # Loads extensions from multiple sources: OCI, Gitea, Local -use ../config/accessor.nu * -use ../utils/logging.nu * -use ../oci/client.nu * -use cache.nu * -use loader.nu [load-manifest, is-extension-allowed, check-requirements, load-hooks] +# Selective imports (ADR-025 Phase 3 Layer 2). +# config/accessor and extensions/cache star-imports were dead — dropped. +use lib_provisioning/utils/logging.nu [log-debug log-error log-info] +use lib_provisioning/oci/client.nu [ + get-oci-config is-oci-available load-oci-token oci-artifact-exists + oci-get-artifact-manifest oci-get-artifact-tags oci-pull-artifact +] +use lib_provisioning/extensions/loader.nu [load-manifest is-extension-allowed check-requirements load-hooks] # Check if extension is already loaded (in memory) def is-loaded [extension_type: string, extension_name: string] { diff --git a/nulib/lib_provisioning/plugins/mod.nu b/nulib/lib_provisioning/plugins/mod.nu index d6e87ee..9e4be86 100644 --- a/nulib/lib_provisioning/plugins/mod.nu +++ b/nulib/lib_provisioning/plugins/mod.nu @@ -5,12 +5,24 @@ # Plugin Wrapper Modules # Exports all plugin wrappers with HTTP fallback support -export use auth.nu * -export use kms.nu * -export use secretumvault.nu * +# plugins/ subsystem facade — selective re-exports (ADR-025 Phase 3 Layer 3). -# Plugin management utilities -use ../config/accessor.nu * +export use auth.nu [plugin-auth-status] +export use kms.nu [ + plugin-kms-backends plugin-kms-decrypt plugin-kms-encrypt + plugin-kms-generate-key plugin-kms-info plugin-kms-list-keys + plugin-kms-rotate-key plugin-kms-status +] +export use secretumvault.nu [ + decrypt-config-file encrypt-config-file plugin-secretumvault-decrypt + plugin-secretumvault-encrypt plugin-secretumvault-generate-key + plugin-secretumvault-health plugin-secretumvault-info + plugin-secretumvault-rotate-key plugin-secretumvault-version +] + +# config/accessor star-import was dead (no accessor symbols used in body) — +# dropped. Add _ansi explicitly — previously came through an implicit chain. +use lib_provisioning/utils/interface.nu [_ansi] # List all available plugins with status export def list-plugins [] { diff --git a/nulib/lib_provisioning/providers/loader.nu b/nulib/lib_provisioning/providers/loader.nu index 8508791..8d28cc8 100644 --- a/nulib/lib_provisioning/providers/loader.nu +++ b/nulib/lib_provisioning/providers/loader.nu @@ -1,9 +1,15 @@ # Provider Loader System # Dynamic provider loading and interface validation -use registry.nu * -use interface.nu * -use ../utils/logging.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +# providers/interface.nu was a dead star-import — dropped. +# Note: dynamic `use ($provider_entry.entry_point) *` remains at line ~173 +# (runtime load of the selected provider's module). Not convertible to +# selective; that's intentional dynamic dispatch. +use lib_provisioning/providers/registry.nu [ + get-provider-entry get-provider-stats is-provider-available list-providers +] +use lib_provisioning/utils/logging.nu [log-debug log-error] # Load provider dynamically with validation (cached) export def load-provider [name: string] {