# Changelog All notable changes to Atomizer will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Phase 3.2 - Integration & NX Enhancements (In Progress) #### Added - **NX Expression Import System** (2025-11-17) - Robust .exp file-based expression updates via NX journal scripts - Supports ALL NX expression types including binary-stored ones - Automatic unit detection and formatting - Fixes issue with `hole_count` and other feature-linked expressions - Documentation: [NX_EXPRESSION_IMPORT_SYSTEM.md](docs/NX_EXPRESSION_IMPORT_SYSTEM.md) - New journal: `import_expressions.py` for .exp file import - Enhanced `nx_updater.py` with `update_expressions_via_import()` method - **4D Design Space Validation** (2025-11-17) - Validated full 4-variable optimization (beam_half_core_thickness, beam_face_thickness, holes_diameter, hole_count) - All variables now updating correctly in optimization loop - Mesh adaptation verified across different hole_count values ### Phase 2 - LLM Integration (Completed 85%) - Natural language interface for optimization configuration - Feature registry with capability catalog - Claude skill for Atomizer navigation - LLM workflow analyzer and extractor orchestration - Dynamic code generation for hooks and extractors --- ## [0.2.0] - 2025-01-16 ### Phase 1 - Plugin System & Infrastructure ✅ #### Added - **Plugin Architecture** - Hook manager with lifecycle execution at `pre_solve`, `post_solve`, and `post_extraction` points - Plugin auto-discovery from `optimization_engine/plugins/` directory - Priority-based hook execution - Context passing system for hooks (output_dir, trial_number, design_variables, results) - **Logging Infrastructure** - Detailed per-trial logs in `optimization_results/trial_logs/` - Complete iteration trace with timestamps - Design variables, configuration, execution timeline - Extracted results and constraint evaluations - High-level optimization progress log (`optimization.log`) - Configuration summary header - Trial START and COMPLETE entries (one line per trial) - Compact format for easy progress monitoring - **Logging Plugins** - `detailed_logger.py` - Creates detailed trial logs - `optimization_logger.py` - Creates high-level optimization.log - `log_solve_complete.py` - Appends solve completion to trial logs - `log_results.py` - Appends extracted results to trial logs - `optimization_logger_results.py` - Appends results to optimization.log - **Project Organization** - Studies folder structure with standardized layout - Comprehensive studies documentation ([studies/README.md](studies/README.md)) - Model files organized in `model/` subdirectory (`.prt`, `.sim`, `.fem`) - Intelligent path resolution system (`atomizer_paths.py`) - Marker-based project root detection - **Test Suite** - `test_hooks_with_bracket.py` - Hook validation test (3 trials) - `run_5trial_test.py` - Quick integration test (5 trials) - `test_journal_optimization.py` - Full optimization test #### Changed - Renamed `examples/` folder to `studies/` - Moved bracket example to `studies/bracket_stress_minimization/` - Consolidated FEA files into `model/` subfolder - Updated all test scripts to use `atomizer_paths` for imports - Runner now passes `output_dir` to all hook contexts #### Removed - Obsolete test scripts from examples/ (14 files deleted) - `optimization_logs/` and `optimization_results/` from root directory #### Fixed - Log files now correctly generated in study-specific `optimization_results/` folder - Path resolution works regardless of script location - Hooks properly registered with `register_hooks()` function --- ## [0.1.0] - 2025-01-10 ### Initial Release #### Core Features - Optuna integration with TPE sampler - NX journal integration for expression updates and simulation execution - OP2 result extraction (stress, displacement) - Study management with folder-based isolation - Web dashboard for real-time monitoring - Precision control (4-decimal rounding for mm/degrees/MPa) - Crash recovery and optimization resumption --- ## Development Timeline - **Phase 1** (✅ Completed 2025-01-16): Plugin system & hooks - **Phase 2** (🟡 Starting): LLM interface with natural language configuration - **Phase 3** (Planned): Dynamic code generation for custom objectives - **Phase 4** (Planned): Intelligent analysis and surrogate quality assessment - **Phase 5** (Planned): Automated HTML/PDF report generation - **Phase 6** (Planned): NX MCP server with full API documentation - **Phase 7** (Planned): Self-improving feature registry --- **Maintainer**: Antoine Polvé (antoine@atomaste.com) **License**: Proprietary - Atomaste © 2025