from __future__ import annotations from dataclasses import dataclass, field from pathlib import Path from typing import Any, Dict @dataclass(frozen=True) class TradingRunContext: config_name: str run_dir: Path bootstrap_values: Dict[str, Any] = field(default_factory=dict) def describe(self) -> str: return f"Run {self.config_name} @ {self.run_dir}"