platform/mod.nu had 8 `export use X *`. Each is now explicit symbol list.
Symbol counts per target:
target.nu 12
discovery.nu 5
health.nu 4
credentials.nu 6
connection.nu 9
cli.nu 7
autostart.nu 7
service-manager.nu 15
Total: 65 symbols re-exported.
Pre-existing duplicate symbols surfaced by the explicit listing (not caused
by this commit — the `export use X *` pattern silently shadowed them):
- get-service-status: connection.nu (arg) + autostart.nu (no arg)
- start-required-services: service-manager.nu + autostart.nu
- load-deployment-mode: target.nu + service-manager.nu
Leaving duplicates as-is; resolving the naming collisions is out of scope
for ADR-025 (tracked as pre-existing bug to address in a separate commit).
Validation:
nu --ide-check 50 platform/mod.nu -> 0 errors
Refs: ADR-025, .coder/benchmarks/phase2-transitivity.md Layer 3
bootstrap.nu had 5 star-imports. Body scan showed only 2 of the 5 files
contributed any used symbols:
config/accessor.nu -> config-get
services/health.nu -> wait-for-service
The other 3 files were imported with `use X *` but supplied zero used
symbols — dead imports inherited from an earlier architecture:
utils/logging.nu (0 used) dropped
services/lifecycle.nu (0 used) dropped
services/dependencies.nu (0 used) dropped
All imports now use absolute paths from nulib/ root. Existing selective
imports (context_manager, setup/mod, nickel_processor) kept as-is and
promoted to absolute paths for consistency with ADR-025 rule.
Validation:
nu --ide-check 50 platform/bootstrap.nu -> 0 errors
Refs: ADR-025, .coder/benchmarks/phase2-transitivity.md Layer 2
Two changes in this file:
1. Replace 5 star-imports with selective imports (absolute paths):
Before:
use target.nu *
use discovery.nu *
use health.nu *
use autostart.nu *
use connection.nu *
After:
use lib_provisioning/platform/health.nu [check-all-services check-required-services]
use lib_provisioning/platform/discovery.nu [list-services]
use lib_provisioning/platform/autostart.nu [start-required-services]
use lib_provisioning/platform/connection.nu [init-connection-metadata show-connection-status]
platform/target.nu drops from the import list — nothing from target.nu is
actually used in this file once load-platform-target (see #2) is removed.
2. Stub platform-config function.
platform-config called `load-platform-target`, a symbol with zero
definitions in the entire codebase (same class as on_clusters from
blocker 1). The function was dead at runtime. Replaced body with a
user-facing message pointing to `prvng platform list` which works.
Validation:
nu --ide-check 50 platform/cli.nu -> 0 errors
Refs: ADR-025, .coder/benchmarks/phase2-findings.md blockers (extended)