"""Re-export shim (ADR-0017 amendment). The Modelling-stage persistence models — `plan`, `recommendation`, `recommendation_materials`, `scenario`, `installed_measure` — moved to `infrastructure/postgres/modelling/` as single SQLModel definitions (the `epc_property` pattern). This module re-exports them under their legacy names so the dying `backend/` callers keep working; new code imports from `infrastructure.postgres.modelling` directly. The `plan_recommendations` m2m is retired — measures link to their Plan via `recommendation.plan_id`. """ from typing import NamedTuple from infrastructure.postgres.modelling import ( InstalledMeasureModel, PlanModel, PlanType, RecommendationMaterialModel, RecommendationModel, ScenarioModel, ) # Legacy names → the single SQLModel definitions now in # `infrastructure/postgres/modelling/`. Recommendation = RecommendationModel RecommendationMaterials = RecommendationMaterialModel PlanTypeEnum = PlanType InstalledMeasure = InstalledMeasureModel __all__ = [ "PlanModel", "ScenarioModel", "Recommendation", "RecommendationMaterials", "InstalledMeasure", "PlanTypeEnum", "PlanPersistence", ] class PlanPersistence(NamedTuple): plan: PlanModel scenario: ScenarioModel