You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While migrating module setup() methods to the BaseVehicleConfig contract (#28), several modules were found to still contain dead, broken legacy code left over from an old RocketConfig → generic-schema refactor. The pattern is a botched find/replace where a former config class was globally replaced with typing.Any, producing code like:
fromtypingimportAny
...
config=Any.from_yaml(config_path) # Any has no from_yamlifnotisinstance(config, Any): # isinstance(x, Any) is a TypeError at runtimeraiseValueError(...)
Affected locations
YAADO_Core/modules/wind_tunnel/methods/su2/su2_config_template.py — module-level load_rocket_config(), run(), run_grid() reference the fictional Any-typed config; these entry points cannot be called today.
YAADO_Core/modules/airframe/generator_methods/openvsp.py — load_rocket_config/build_vspscript/build_manifest/write_openvsp_export/main still use isinstance(config, Any) / vehicle_config: Any. Additionally main() calls analysis.setup(config, output_dir=...), which no longer matches the new setup(vehicle, operating_state) signature after [FEATURE] Standardize all modules' methods to use vehicle object #28.
YAADO_Core/modules/airframe/slicer_methods/gmsh.py — fails to parse at all: a pre-existing IndentationError (~line 300, a stray indented from pydantic import ValidationError inside cross_check_against_vehicle_config), plus the same isinstance(config, Any) breakage.
These sit on standalone script/CLI paths, which is why the test suite (which imports the solver classes, not these functions) stays green and never surfaces them.
Why it matters
These are the same "parse a file from disk" anti-pattern #28 targets, but on the CLI side. They are currently non-functional, so any user following a module's python -m ... entry point hits an immediate crash.
Proposed fix
Delete or rewrite the dead load_rocket_config/run/CLI helpers to load a real BaseVehicleConfig.from_yaml(...) and call the new setup(vehicle, operating_state) contract (mirroring what flight_dynamics/point_mass_3dof.py already does after [FEATURE] Standardize all modules' methods to use vehicle object #28).
Fix the gmsh.pyIndentationError so the module imports.
Add at least a smoke import test per module so this class of breakage is caught by CI.
Discovery context
Found by the delegated subagents during the #28 standardization work (modules: wind_tunnel, airframe). Left untouched there per that PR's minimal scope.
Summary
While migrating module
setup()methods to theBaseVehicleConfigcontract (#28), several modules were found to still contain dead, broken legacy code left over from an oldRocketConfig→ generic-schema refactor. The pattern is a botched find/replace where a former config class was globally replaced withtyping.Any, producing code like:Affected locations
YAADO_Core/modules/wind_tunnel/methods/su2/su2_config_template.py— module-levelload_rocket_config(),run(),run_grid()reference the fictionalAny-typed config; these entry points cannot be called today.YAADO_Core/modules/airframe/generator_methods/openvsp.py—load_rocket_config/build_vspscript/build_manifest/write_openvsp_export/mainstill useisinstance(config, Any)/vehicle_config: Any. Additionallymain()callsanalysis.setup(config, output_dir=...), which no longer matches the newsetup(vehicle, operating_state)signature after [FEATURE] Standardize all modules' methods to use vehicle object #28.YAADO_Core/modules/airframe/slicer_methods/gmsh.py— fails to parse at all: a pre-existingIndentationError(~line 300, a stray indentedfrom pydantic import ValidationErrorinsidecross_check_against_vehicle_config), plus the sameisinstance(config, Any)breakage.These sit on standalone script/CLI paths, which is why the test suite (which imports the solver classes, not these functions) stays green and never surfaces them.
Why it matters
These are the same "parse a file from disk" anti-pattern #28 targets, but on the CLI side. They are currently non-functional, so any user following a module's
python -m ...entry point hits an immediate crash.Proposed fix
load_rocket_config/run/CLI helpers to load a realBaseVehicleConfig.from_yaml(...)and call the newsetup(vehicle, operating_state)contract (mirroring whatflight_dynamics/point_mass_3dof.pyalready does after [FEATURE] Standardize all modules' methods to use vehicle object #28).gmsh.pyIndentationErrorso the module imports.Discovery context
Found by the delegated subagents during the #28 standardization work (modules: wind_tunnel, airframe). Left untouched there per that PR's minimal scope.