refactor(integrations/ecosystem/mod): selective re-exports + fix facade intent (ADR-025 L3)

ecosystem/mod.nu had 5 `use ./X.nu *` — NOT `export use`. The comment
claimed "Re-exports all ecosystem integration providers" but no export
actually happened (plain `use` makes symbols visible only inside this
file, not to consumers). Parent `integrations/mod.nu` does
`use ./ecosystem *` expecting propagation that never occurred.

Fixed both issues in one commit:
1. Promote each `use` to `export use` so the facade actually re-exports.
2. Replace each star with an explicit symbol list.

Symbol counts per target:
  runtime.nu        5
  backup.nu         6
  ssh_advanced.nu   6
  gitops.nu         7
  service.nu        8

Total: 32 symbols re-exported (previously: 0, due to the use-vs-export-use bug).

Behaviour change note: consumers that rely on integrations/ecosystem/* symbols
via `use lib_provisioning/integrations *` may now see symbols that were
silently missing before. This is the documented intent restored.

Validation:
  nu --ide-check 50 ecosystem/mod.nu -> 41 errors (all PRE-EXISTING,
    verified by stash-and-compare). Zero new errors introduced.

Refs: ADR-025, .coder/benchmarks/phase2-transitivity.md Layer 3
This commit is contained in:
Jesús Pérez 2026-04-17 08:21:37 +01:00
parent f3684adb33
commit 7140929724
Signed by: jesus
GPG key ID: 9F243E355E0BC939

View file

@ -1,8 +1,27 @@
# Ecosystem Integrations Module # Ecosystem Integrations Module
# Re-exports all ecosystem integration providers: backup, runtime, SSH, GitOps, service management # Re-exports all ecosystem integration providers: backup, runtime, SSH, GitOps, service management
use ./runtime.nu * # ecosystem/ subsystem facade — selective re-exports (ADR-025 Phase 3 Layer 3).
use ./backup.nu * # Former `use ./X *` was a no-op (not `export use`), so no symbols were actually
use ./ssh_advanced.nu * # propagated to integrations/mod.nu. Converted to `export use` + selective so the
use ./gitops.nu * # facade behaves as its comment claims.
use ./service.nu *
export use ./runtime.nu [
runtime-compose runtime-detect runtime-exec runtime-info runtime-list
]
export use ./backup.nu [
backup-create backup-list backup-restore backup-retention
backup-schedule backup-status
]
export use ./ssh_advanced.nu [
ssh-circuit-breaker-status ssh-deployment-strategies ssh-pool-connect
ssh-pool-exec ssh-pool-status ssh-retry-config
]
export use ./gitops.nu [
gitops-deployments gitops-event-types gitops-rule-config gitops-rules
gitops-status gitops-trigger gitops-watch
]
export use ./service.nu [
service-detect-init service-install service-list service-restart
service-restart-policy service-start service-status service-stop
]