from __future__ import annotations from abc import ABC, abstractmethod from domain.modelling.scenario import Scenario class ScenarioRepository(ABC): """Loads the Scenarios the Modelling stage scores a Property against. The FE creates a Scenario in the scenario-builder and passes only its id to the pipeline (#1130); the orchestrator reads it back through this port at modelling time. Bulk read by id, load-whole per ADR-0012. """ @abstractmethod def get_many(self, scenario_ids: list[int]) -> list[Scenario]: """Return the Scenarios for ``scenario_ids``, in the same order, raising if any id has no row.""" ...