"""PortfolioGoal — the retrofit objective a Scenario is scored against. Domain vocabulary (ubiquitous language): the goal a user sets for a Scenario — raise the EPC band, cut CO₂, cut energy, or improve valuation. The enum *values* are the canonical strings stored in the live ``scenario.goal`` / ``portfolio.goal`` columns and used by the front end; the Modelling stage's Optimiser branches on them (#1160). Lives in ``domain/`` (not ``backend/``) so the domain, persistence (``infrastructure/postgres/modelling``) and legacy app layers share one definition — co-located with ``scenario.py``, which carries the goal. See CONTEXT.md. """ import enum class PortfolioGoal(enum.Enum): VALUATION_IMPROVEMENT = "Valuation Improvement" INCREASING_EPC = "Increasing EPC" REDUCING_CO2_EMISSIONS = "Reducing CO2 emissions" ENERGY_SAVINGS = "Energy Savings" NONE = "None"