Commit graph

7 commits

Author SHA1 Message Date
Jesús Pérez
3e747e1317
refactor(6 production files): plugins_defs + setup + platform + oci + auth_core (ADR-025 L2)
Six production 2-star files -> selective.

plugins_defs.nu:
  utils/nickel_processor.nu [ncl-eval] (kept, already selective)
  utils/ + config/accessor   DROPPED (both dead)

setup/provctl_integration.nu:
  setup/mod.nu   [8 symbols]
  setup/detection DROPPED (dead)

setup/provider.nu:
  setup/mod.nu     [9 symbols]
  setup/validation DROPPED (dead)

platform/autostart.nu:
  platform/target.nu [get-deployment-service-config get-enabled-services]
  platform/health.nu [check-service-health]

plugins/auth_core.nu:
  config/accessor/core.nu [config-get]
  commands/traits.nu      [get-command-metadata]

oci/client.nu:
  utils/logging.nu [log-debug log-error log-info]
  config/accessor  DROPPED (dead)

Validation: all 6 nu --ide-check 50 -> 0 errors.

Refs: ADR-025
2026-04-17 09:16:21 +01:00
Jesús Pérez
03f1dcadf7
refactor(platform/mod): selective re-exports replace 8 star re-exports (ADR-025 L3)
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
2026-04-17 08:10:24 +01:00
Jesús Pérez
e4fe2298f8
refactor(platform/bootstrap): selective imports + drop 3 dead imports (ADR-025 L2)
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
2026-04-17 08:01:04 +01:00
Jesús Pérez
4b95148324
refactor(platform/cli): selective imports + stub dead platform-config (ADR-025 L2)
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)
2026-04-17 07:58:00 +01:00
Jesús Pérez
894046ef5a
feat(core): three-layer DAG, unified component arch, commands-registry cache, Nushell 0.112.2 migration
- DAG architecture: `dag show/validate/export` (nulib/main_provisioning/dag.nu),
    config loader (lib_provisioning/config/loader/dag.nu), taskserv dag-executor.
    Backed by schemas/lib/dag/*.ncl; orchestrator emits NATS events via
    WorkspaceComposition::into_workflow. See ADR-020, ADR-021.
  - Unified Component Architecture: components/mod.nu, main_provisioning/
    {components,workflow,extensions,ontoref-queries}.nu. Full workflow engine with
    topological sort and NATS subject emission. Blocks A-H complete (libre-daoshi).
  - Commands-registry: nulib/commands-registry.ncl (Nickel source, 314 lines) +
    JSON cache at ~/.cache/provisioning/commands-registry.json rebuilt on source
    change. cli/provisioning fast-path alias expansion avoids cold Nu startup.
    ADDING_COMMANDS.md documents new-command workflow.
  - Platform service manager: service-manager.nu (+573), startup.nu (+611),
    service-check.nu (+255); autostart/bootstrap/health/target refactored.
  - Nushell 0.112.2 migration: removed all try/catch and bash redirections;
    external commands prefixed with ^; type signatures enforced. Driven by
    scripts/refactor-try-catch{,-simplified}.nu.
  - TTY stack: removed shlib/*-tty.sh; replaced by cli/tty-dispatch.sh,
    tty-filter.sh, tty-commands.conf.
  - New domain modules: images/ (golden image lifecycle), workspace/{state,sync}.nu,
    main_provisioning/{bootstrap,cluster-deploy,fip,state}.nu, commands/{state,
    build,integrations/auth,utilities/alias}.nu, platform.nu expanded (+874).
  - Config loader overhaul: loader/core.nu slimmed (-759), cache/core.nu
    refactored (-454), removed legacy loaders/file_loader.nu (-330).
  - Thirteen new provisioning-<domain>.nu top-level modules for bash dispatcher.
  - Tests: test_workspace_state.nu (+351); updates to test_oci_registry,
    test_services.
  - README + CHANGELOG updated.
2026-04-17 04:27:33 +01:00
Jesús Pérez
eb20fec7de
chore: release 1.0.11 - nu script cleanup & refactoring + i18n fluentd
- Documented Fluent-based i18n system with locale detection
  - Bumped version from 1.0.10 to 1.0.11
2026-01-14 02:00:23 +00:00
Jesús Pérez
85ce530733
feat: update provisioning core CLI, libraries, and plugins
Update core components including CLI, Nushell libraries, plugins system,
and utility scripts for the provisioning system.

CLI Updates:
- Command implementations
- CLI utilities and dispatching
- Help system improvements
- Command validation

Library Updates:
- Configuration management system
- Infrastructure validation
- Extension system improvements
- Secrets management
- Workspace operations
- Cache management system

Plugin System:
- Interactive form plugin (inquire)
- KCL integration plugin
- Performance optimization plugins
- Plugin registration system

Utilities:
- Build and distribution scripts
- Installation procedures
- Testing utilities
- Development tools

Documentation:
- Library module documentation
- Extension API guides
- Plugin usage guides
- Service management documentation

All changes are backward compatible. No breaking changes.
2025-12-11 21:57:05 +00:00