- Split generate_recipe.py into cli.py, recipe_generator.py, validators.py, manifest.py
- Removed override logic - modifiers now add fragments rather than replace
- Added filename deduplication to prevent overwriting recipes
- Updated CI workflows and tests to use new module structure
- Made pykickstart a hard dependency
- Removed ingredients/ directory support (only fragments/*.ks now used)
- New layout: 5 modules (~990 lines) vs single 769-line file
- Replaced individual templates with unified 'install' (desktop, server, hypervisor) and 'live' (live-desktop, live-server) templates
- Added new modifiers: variant_type, hypervisor-type, desktop, initial-setup, virtualization
- Updated generate_recipe.py to handle new modifier structure with additive flags
- Updated recipes_manifest.yaml with new modifier structure
- Added missing fragment files and directories