mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Introduce domain/modelling/measure_type.py — a StrEnum with one member per modelled measure (the 15 the generators emit). A StrEnum so each member *is* its string value: it persists straight into the `recommendation` varchar column, is the optimiser's group-by key, and compares equal to the catalogue / EPC strings — so it replaces the per-generator string constants with no persistence or optimiser change. Repoint every generator's measure-type constant/literal to a MeasureType member (wall, solid_wall, roof, floor, glazing, lighting, ventilation, heating, solar). Field annotations stay `str` for now; tightening them to MeasureType is the next slice. This is the enum the historical engine deferred (engine.py:970 "TODO - formalise property measure types into an enum") and the vocabulary the forthcoming `considered_measures` allowlist will speak (mirroring the legacy `inclusions`). Suite green: tests/domain/modelling + orchestration + harness 253 pass + 3 xfail; pyright clean on the enum + generators. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fixtures | ||
| __init__.py | ||
| _elmhurst_recommendation.py | ||
| test_ashp_cost_inputs.py | ||
| test_elmhurst_cascade_pins.py | ||
| test_floor_recommendation.py | ||
| test_glazing_recommendation.py | ||
| test_heating_recommendation.py | ||
| test_lighting_recommendation.py | ||
| test_measure_dependency.py | ||
| test_measure_type.py | ||
| test_optimiser.py | ||
| test_overlay_applicator.py | ||
| test_package_scorer.py | ||
| test_plan.py | ||
| test_plan_valuation.py | ||
| test_products.py | ||
| test_roof_recommendation.py | ||
| test_scoring.py | ||
| test_solar_config_selection.py | ||
| test_solar_overshading.py | ||
| test_solar_potential.py | ||
| test_solar_products.py | ||
| test_solar_recommendation.py | ||
| test_valuation.py | ||
| test_ventilation_recommendation.py | ||
| test_wall_recommendation.py | ||
| test_window_extraction_001431.py | ||