refactor(utils/mod): selective re-exports replace 16 star re-exports (ADR-025 L3)

utils/mod.nu was the top subsystem facade (10 stars reported in the DAG,
16 on closer inspection). Each `export use X *` is now `export use X [symbols]`
with an explicit list.

Symbol counts per target:
  interface.nu  13
  init.nu       13
  logging.nu    13
  settings.nu   19  (file already selective per pilot commit 8de5e63)
  imports.nu    16
  generate.nu    6
  ssh.nu         5
  files.nu       4
  error.nu       2
  undefined.nu   2
  format.nu      2
  templates.nu   2
  clean.nu       1
  help.nu        1
  on_select.nu   1
  qr.nu          1

Total: 101 distinct symbols re-exported by name. Consumers using
`use lib_provisioning/utils *` see an identical symbol set, but every
symbol is now auditable.

Validation:
  nu --ide-check 50 utils/mod.nu -> 4 errors, all pre-existing (verified
    by stash-and-compare against the pre-refactor version). 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:03:51 +01:00
parent e4fe2298f8
commit baf74b5395
Signed by: jesus
GPG key ID: 9F243E355E0BC939

View file

@ -1,24 +1,46 @@
# utils/ subsystem facade — selective re-exports (ADR-025 Phase 3 Layer 3).
# Each `export use X *` replaced by an explicit symbol list so transitivity
# checks can verify what propagates through consumers of `use lib_provisioning/utils *`.
# Exclude minor or specific parts for global 'export use' export use interface.nu [
export use interface.nu * _ansi _print desktop_run_notify detect_claude_code end_run format_out
export use clean.nu * get-notify-icon get-provisioning-no-terminal get-provisioning-out log_debug
export use error.nu * set-provisioning-no-terminal set-provisioning-out show_clip_to
export use help.nu * ]
export use init.nu * export use clean.nu [cleanup]
export use error.nu [safe-execute throw-error]
export use generate.nu * export use help.nu [parse_help_command]
export use undefined.nu * export use init.nu [
export use logging.nu * detect-infra-from-pwd get-effective-workspace get-provisioning-args
get-provisioning-infra-path get-provisioning-name get-provisioning-resources
export use qr.nu * get-provisioning-url get-provisioning-use-sops get-work-format
export use ssh.nu * get-workspace-path provisioning_init show_titles use_titles
]
export use settings.nu * export use generate.nu [
export use templates.nu * generate_data_def generate_data_items generate_title github_latest_tag
# export use test.nu value_input value_input_list
]
export use format.nu * export use undefined.nu [invalid_task option_undefined]
export use files.nu * export use logging.nu [
is-debug-check-enabled is-debug-enabled is-metadata-enabled
export use on_select.nu * log-debug log-error log-info log-progress log-section log-step
export use imports.nu * log-subsection log-success log-warning set-debug-enabled set-metadata-enabled
]
export use qr.nu [make_qr]
export use ssh.nu [check_connection scp_from scp_to ssh_cmd ssh_cp_run]
export use settings.nu [
check_env find_get_settings get_context_infra_path get_file_format
get_infra get_provider_data_path get_provider_env load load_defaults
load_from_wk_format load_provider_env load_provider_settings load_settings
parse_nickel_file save_provider_env save_servers_settings save_settings_file
set-wk-cnprov settings_with_env
]
export use templates.nu [on_template_path run_from_template]
export use format.nu [datalist_to_format money_conversion]
export use files.nu [copy_file copy_prov_files find_file select_file_list]
export use on_select.nu [run_on_selection]
export use imports.nu [
aws-env aws-servers core-clusters core-servers core-taskservs
import-path lib-ai lib-secrets lib-sops lib-utils local-env local-servers
prov-env-middleware prov-middleware upcloud-env upcloud-servers
]