CRITICAL FIXES: 1. Parameter Range Parsing Bug - LLM returns bounds as [min, max] array, but code was looking for 'min'/'max' keys - This caused all parameters to default to 0-1 range instead of actual mm values - Example: "20 to 30 mm" was being used as 0.2-1.0mm instead of 20-30mm 2. Missing Workflow Documentation - Added automatic saving of LLM workflow config to output directory - Creates llm_workflow_config.json with complete optimization setup - Includes design variables, bounds, objectives, constraints, engineering features Changes: - optimization_engine/llm_optimization_runner.py: * Lines 205-211: Parse 'bounds' array from LLM output * Lines 80-84: Save workflow config JSON for transparency * Maintains backward compatibility with old 'min'/'max' format Test Results: BEFORE: - beam_half_core_thickness: 0.27-0.95mm (WRONG!) - beam_face_thickness: 0.07-0.73mm (WRONG!) AFTER: - beam_half_core_thickness: 20.16-28.16mm (CORRECT!) - beam_face_thickness: 21.69-24.73mm (CORRECT!) E2E test now passes with realistic parameter values and proper documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
20 KiB
20 KiB