import yaml from pathlib import Path from typing import List from schemas.simulation_case import SimulationCase DEFAULT_PATH = Path(__file__).parent / "memory_scenarios.yaml" def load_memory_scenarios(path: str | Path | None = None) -> List[SimulationCase]: """Load memory-focused simulation scenarios from a YAML file.""" path = Path(path) if path else DEFAULT_PATH if not path.exists(): raise FileNotFoundError(f"Memory scenarios file not found: {path}") with open(path, "r", encoding="utf-8") as f: data = yaml.safe_load(f) cases = [] for i, row in enumerate(data.get("scenarios", [])): try: cases.append(SimulationCase(**row)) except Exception as e: print(f"[ERROR] Memory scenario {i} failed to validate: {e}") return cases