prvng_core/CHANGELOG.md

240 lines
7.4 KiB
Markdown
Raw Permalink Normal View History

# Provisioning Core - Changelog
**Date**: 2026-01-14
**Repository**: provisioning/core
**Status**: Nickel IaC (PRIMARY)
---
## 📋 Summary
Core system with Nickel as primary IaC: Terminology migration from cluster to taskserv throughout codebase,
Nushell library refactoring for improved ANSI output formatting, and enhanced handler modules for infrastructure operations.
---
## 🔄 Latest Release (2026-01-14)
### Terminology Migration: Cluster → Taskserv
**Scope**: Complete refactoring across nulib/ modules to standardize on taskserv nomenclature
**Files Updated**:
- `nulib/clusters/handlers.nu` - Handler signature updates, ANSI formatting improvements
- `nulib/clusters/run.nu` - Function parameter and path updates (+326 lines modified)
- `nulib/clusters/utils.nu` - Utility function updates (+144 lines modified)
- `nulib/clusters/discover.nu` - Discovery module refactoring
- `nulib/clusters/load.nu` - Configuration loader updates
- `nulib/ai/query_processor.nu` - AI integration updates
- `nulib/api/routes.nu` - API routing adjustments
- `nulib/api/server.nu` - Server module updates
- `.pre-commit-config.yaml` - Pre-commit hook updates
**Changes**:
- Updated function parameters: `server_cluster_path``server_taskserv_path`
- Updated record fields: `defs.cluster.name``defs.taskserv.name`
- Enhanced output formatting with consistent ANSI styling (yellow_bold, default_dimmed, purple_bold)
- Improved function documentation and import organization
- Pre-commit configuration refinements
**Rationale**: Taskserv better reflects the service-oriented nature of infrastructure components and improves semantic clarity throughout the codebase.
### i18n/Localization System
**New Feature**: Fluent i18n integration for internationalized help system
**Implementation**:
- `nulib/main_provisioning/help_system_fluent.nu` - Fluent-based i18n framework
- Active locale detection from `LANG` environment variable
- Fallback to English (en-US) for missing translations
- Fluent catalog parsing: `locale/{locale}/help.ftl`
- Locale format conversion: `es_ES.UTF-8``es-ES`
**Features**:
- Automatic locale detection from system LANG
- Fluent catalog format support for translations
- Graceful fallback mechanism
- Category-based color formatting (infrastructure, orchestration, development, etc.)
- Tab-separated help column formatting
---
## 📋 Version History
### v1.0.10 (Previous Release)
- Stable release with Nickel IaC support
- Base version with core CLI and library system
### v1.0.11 (Current - 2026-01-14)
- **Cluster → Taskserv** terminology migration
- **Fluent i18n** system documentation
- Enhanced ANSI output formatting
---
## 📁 Changes by Directory
### cli/ directory
**Major Updates (586 lines added to provisioning)**
- Expanded CLI command implementations (+590 lines)
- Enhanced tools installation system (tools-install: +163 lines)
- Improved install script for Nushell environment (install_nu.sh: +31 lines)
- Better CLI routing and command validation
- Help system enhancements for Nickel-aware commands
- Support for Nickel schema evaluation and validation
### nulib/ directory
**Nushell libraries - Nickel-first architecture**
**Config System**
- `config/loader.nu` - Nickel schema loading and evaluation
- `config/accessor.nu` - Accessor patterns for Nickel fields
- `config/cache/` - Cache system optimized for Nickel evaluation
**AI & Documentation**
- `ai/README.md` - Nickel IaC patterns
- `ai/info_about.md` - Nickel-focused documentation
- `ai/lib.nu` - AI integration for Nickel schema analysis
**Extension System**
- `extensions/QUICKSTART.md` - Nickel extension quickstart (+50 lines)
- `extensions/README.md` - Extension system for Nickel (+63 lines)
- `extensions/loader_oci.nu` - OCI registry loader (minor updates)
**Infrastructure & Validation**
- `infra_validator/rules_engine.nu` - Validation rules for Nickel schemas
- `infra_validator/validator.nu` - Schema validation support
- `loader-minimal.nu` - Minimal loader for lightweight deployments
**Clusters & Workflows**
- `clusters/discover.nu`, `clusters/load.nu`, `clusters/run.nu` - Cluster operations updated
- Plugin definitions updated for Nickel integration (+28-38 lines)
**Documentation**
- `SERVICE_MANAGEMENT_SUMMARY.md` - Expanded service documentation (+90 lines)
- `gitea/IMPLEMENTATION_SUMMARY.md` - Gitea integration guide (+89 lines)
- Extension and validation quickstarts and README updates
### plugins/ directory
Nushell plugins for performance optimization
**Sub-repositories:**
- `nushell-plugins/` - Multiple Nushell plugins
- `_nu_plugin_inquire/` - Interactive form plugin
- `api_nu_plugin_nickel/` - Nickel integration plugin
- Additional plugin implementations
**Plugin Documentation:**
- Build summaries
- Installation guides
- Configuration examples
- Test documentation
- Fix and limitation reports
### scripts/ directory
Utility scripts for system operations
- Build scripts
- Installation scripts
- Testing scripts
- Development utilities
- Infrastructure scripts
### services/ directory
Service definitions and configurations
- Service descriptions
- Service management
### forminquire/ directory (ARCHIVED)
**Status**: DEPRECATED - Archived to `.coder/archive/forminquire/`
**Replacement**: TypeDialog forms (`.typedialog/provisioning/`)
- Legacy: Jinja2-based form system
- Archived: 2025-01-09
- Replaced by: TypeDialog with bash wrappers for TTY-safe input
### Additional Files
- `README.md` - Core system documentation
- `versions.ncl` - Version definitions
- `.gitignore` - Git ignore patterns
- `nickel.mod` / `nickel.mod.lock` - Nickel module definitions
- `.githooks/` - Git hooks for development
---
## 📊 Change Statistics
| Category | Files | Lines Added | Lines Removed | Status |
| -------- | ----- | ----------- | ------------- | ------ |
| CLI | 3 | 780+ | 30+ | Major update |
| Config System | 15+ | 300+ | 200+ | Refactored |
| AI/Docs | 8+ | 350+ | 100+ | Enhanced |
| Extensions | 5+ | 150+ | 50+ | Updated |
| Infrastructure | 8+ | 100+ | 70+ | Updated |
| Clusters/Workflows | 5+ | 80+ | 30+ | Enhanced |
| **Total** | **60+ files** | **1700+ lines** | **500+ lines** | **Complete** |
---
## ✨ Key Areas
### CLI System
- Command implementations with Nickel support
- Tools installation system
- Nushell environment setup
- Nickel schema evaluation commands
- Error messages and help text
- Nickel type checking and validation
### Config System
- **Nickel-first loader**: Schema evaluation via config/loader.nu
- **Optimized caching**: Nickel evaluation cache patterns
- **Field accessors**: Nickel record manipulation
- **Schema validation**: Type-safe configuration loading
### AI & Documentation
- AI integration for Nickel IaC
- Extension development guides
- Service management documentation
### Extensions & Infrastructure
- OCI registry loader optimization
- Schema-aware extension system
- Infrastructure validation for Nickel definitions
- Cluster discovery and operations enhanced
---
## 🎯 Current Features
- **Nickel IaC**: Type-safe infrastructure definitions
- **CLI System**: Unified command interface with 80+ shortcuts
- **Provider Abstraction**: Cloud-agnostic operations
- **Config System**: Hierarchical configuration with 476+ accessors
- **Workflow Engine**: Batch operations with dependency resolution
- **Validation**: Schema-aware infrastructure validation
- **AI Integration**: Schema-driven configuration generation
---
**Status**: Production
**Date**: 2026-01-14
**Repository**: provisioning/core
**Version**: 1.0.11