From f2985043ee5efe9ad748c9d4a826688c8e7fea63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20Pe=CC=81rez?= Date: Fri, 17 Apr 2026 09:04:29 +0100 Subject: [PATCH] refactor(workspace/*): selective imports in 5 files (ADR-025 L2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Five workspace/ files, 2 stars each -> selective. workspace/sync.nu: user/config.nu [get-active-workspace get-workspace-path] config/accessor DROPPED (dead) workspace/notation.nu: user/config.nu [load-user-config] utils/config DROPPED (dead) workspace/migration.nu: user/config.nu [get-workspace-path validate-workspace-exists] workspace/version.nu [5 symbols — add-migration-record, ...] workspace/enforcement.nu: user/config.nu [get-active-workspace get-active-workspace-details] workspace/version.nu [check-workspace-compatibility validate-workspace-structure] workspace/detection.nu: user/config.nu [get-active-workspace] workspace/notation.nu [get-workspace-path list-workspaces] — pre-existing name collision: get-workspace-path + list-workspaces exported by BOTH user/config and notation. Attributed to notation.nu (consistent with workspace/commands.nu treatment). Validation: all 5 nu --ide-check 50 -> 0 errors. Refs: ADR-025 --- nulib/lib_provisioning/workspace/detection.nu | 8 ++++++-- nulib/lib_provisioning/workspace/enforcement.nu | 5 +++-- nulib/lib_provisioning/workspace/migration.nu | 8 ++++++-- nulib/lib_provisioning/workspace/notation.nu | 5 +++-- nulib/lib_provisioning/workspace/sync.nu | 5 +++-- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/nulib/lib_provisioning/workspace/detection.nu b/nulib/lib_provisioning/workspace/detection.nu index 9f0850a..2575a6d 100644 --- a/nulib/lib_provisioning/workspace/detection.nu +++ b/nulib/lib_provisioning/workspace/detection.nu @@ -1,8 +1,12 @@ # Workspace and Infrastructure Detection # Provides PWD-based inference and context management for workspace and infrastructure -use ../user/config.nu * -use notation.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +# Name collision: get-workspace-path + list-workspaces exported by both +# user/config.nu and workspace/notation.nu. Attribute to notation.nu +# (consistent with workspace/commands.nu treatment). +use lib_provisioning/user/config.nu [get-active-workspace] +use lib_provisioning/workspace/notation.nu [get-workspace-path list-workspaces] # Infer workspace from current working directory # Checks if PWD is inside any registered workspace path diff --git a/nulib/lib_provisioning/workspace/enforcement.nu b/nulib/lib_provisioning/workspace/enforcement.nu index 6cbb8fa..9e55d9b 100644 --- a/nulib/lib_provisioning/workspace/enforcement.nu +++ b/nulib/lib_provisioning/workspace/enforcement.nu @@ -2,8 +2,9 @@ # Enforces workspace requirements for all provisioning operations use std log -use ../user/config.nu * -use version.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +use lib_provisioning/user/config.nu [get-active-workspace get-active-workspace-details] +use lib_provisioning/workspace/version.nu [check-workspace-compatibility validate-workspace-structure] # Commands that are allowed without an active workspace export def get-workspace-exempt-commands [] { diff --git a/nulib/lib_provisioning/workspace/migration.nu b/nulib/lib_provisioning/workspace/migration.nu index 79fe9b9..85ad0dc 100644 --- a/nulib/lib_provisioning/workspace/migration.nu +++ b/nulib/lib_provisioning/workspace/migration.nu @@ -2,8 +2,12 @@ # Handles workspace migrations between versions with backups and rollback use std log -use ../user/config.nu * -use version.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +use lib_provisioning/user/config.nu [get-workspace-path validate-workspace-exists] +use lib_provisioning/workspace/version.nu [ + add-migration-record get-system-version get-workspace-metadata-path + init-workspace-metadata load-workspace-metadata +] # Migration strategy definitions export def get-migration-strategies [] { diff --git a/nulib/lib_provisioning/workspace/notation.nu b/nulib/lib_provisioning/workspace/notation.nu index 4deaac5..f79c491 100644 --- a/nulib/lib_provisioning/workspace/notation.nu +++ b/nulib/lib_provisioning/workspace/notation.nu @@ -1,8 +1,9 @@ # Workspace:Infrastructure Notation Parser # Handles parsing and validation of unified workspace:infra notation -use ../user/config.nu * -use ../utils/config.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +# utils/config star-import was dead — dropped. +use lib_provisioning/user/config.nu [load-user-config] # Parse workspace:infra notation # Supports both "workspace" and "workspace:infra" formats diff --git a/nulib/lib_provisioning/workspace/sync.nu b/nulib/lib_provisioning/workspace/sync.nu index c6a0b3a..8f026bd 100644 --- a/nulib/lib_provisioning/workspace/sync.nu +++ b/nulib/lib_provisioning/workspace/sync.nu @@ -1,8 +1,9 @@ # Workspace sync and update operations # Synchronizes workspace hidden directories with provisioning source -use ../config/accessor.nu * -use ../user/config.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +# config/accessor star-import was dead — dropped. +use lib_provisioning/user/config.nu [get-active-workspace get-workspace-path] # Update all workspace hidden directories and content export def "workspace update" [