Five test files, 2 stars each -> selective.
config/encryption_tests.nu:
config/encryption.nu [7 symbols]
kms/client.nu [kms-status]
extensions/tests/test_cache.nu:
extensions/cache.nu DROPPED (dead)
utils/logger.nu REMOVED (file does not exist — dangling)
extensions/tests/test_oci_client.nu:
oci/client.nu [4 symbols]
utils/logger.nu REMOVED (dangling)
extensions/tests/test_discovery.nu:
extensions/discovery.nu [5 symbols]
utils/logger.nu REMOVED (dangling)
config/loader/test.nu:
config/validators.nu [validate-interpolation]
config/interpolators DROPPED (dead)
Pre-existing bug found and removed: 3 test files imported
`../../utils/logger.nu` which doesn't exist. Star-import silenced the
missing-file error; with selective imports it would fail. Cleanest fix:
remove the dangling import (the files never actually used any symbols
from logger.nu — it was a zombie import from a long-deleted file).
Validation: 4 files 0 errors. encryption_tests.nu has 1 pre-existing
error matching baseline.
Refs: ADR-025
Three files with 3 stars each -> selective.
cmd/lib.nu:
utils/init.nu [get-workspace-path get-provisioning-infra-path] (kept)
sops/lib.nu [find-sops-key on_sops]
config/accessor DROPPED (dead)
utils/ui.nu DROPPED (dead)
config/loader/core.nu:
All 3 star-imports (interpolators, context_manager, sops_handler) were
dead — NONE of their exports are used in the file body. All dropped.
config/encryption.nu:
sops/lib.nu [3 symbols — get-sops-age-key-file is_sops_file on_sops]
kms/lib.nu [on_kms]
plugins/kms.nu [3 symbols] (already selective; kept)
config/accessor DROPPED (dead)
Deferred from this batch: cmd/environment.nu.
It calls 7+ functions that are not defined anywhere in the codebase
(list-available-environments, get-current-environment, switch-environment,
init-environment-config, show-config, compare-environments, etc.).
Converting its star-imports to selective would surface those as undefined
symbol errors. Needs the Blocker-1 style treatment (stubs or elimination)
in a dedicated commit. Tracked as follow-up.
Validation: all 3 nu --ide-check 50 -> 0 errors.
Refs: ADR-025
config/loader/mod.nu had 5 `export use X *`. Each is now explicit.
Symbol counts per target:
core.nu 1
validator.nu 6
environment.nu 4
test.nu 2
dag.nu 1
Total: 14 symbols.
With loader/mod.nu now star-free, the orchestrator loader.nu (1-line
re-export) could be converted from `export use loader.nu *` to selective
in config/mod.nu. Tracked as follow-up — once loader/mod.nu and
accessor/mod.nu are both clean, config/mod.nu's 2 orchestrator exceptions
can be resolved.
Validation:
nu --ide-check 50 config/loader/mod.nu -> 0 errors
Refs: ADR-025, .coder/benchmarks/phase2-transitivity.md Layer 3