from __future__ import annotations from repositories.materials.materials_repository import MaterialsRepository from repositories.scenario.scenario_repository import ScenarioRepository class ModellingOrchestrator: """Stage 3 — scores each baselined Property against its Scenarios, producing Recommendations -> an Optimised Package per Scenario Phase -> Plans (CONTEXT.md: Modelling). Stub at this stage (#1136): ``run`` reads its inputs through repos (it takes only ``property_ids`` + ``scenario_ids``, never an in-memory hand-off from Baseline) but does no scoring yet. Full Modelling lands via later TDD slices + per-service grills. The Scenario / Materials repos are injected now so the composition and wiring are real even while the body is empty. """ def __init__( self, *, scenario_repo: ScenarioRepository, materials_repo: MaterialsRepository, ) -> None: self._scenario_repo = scenario_repo self._materials_repo = materials_repo def run(self, property_ids: list[int], scenario_ids: list[int]) -> None: return None