"""Configuration types for eval runs (CLI, dry-run, and smoke execution).""" from __future__ import annotations from dataclasses import dataclass from pathlib import Path from typing import Any @dataclass class EvalConfig: """Resolved paths and flags for one eval invocation.""" dataset_path: Path output_dir: Path baseline: str smoke: bool = False dry_run: bool = False def to_display_dict(self) -> dict[str, Any]: """JSON-friendly snapshot for dry-run and logging.""" return { "dataset_path": str(self.dataset_path), "output_dir": str(self.output_dir), "baseline": self.baseline, "smoke": self.smoke, "dry_run": self.dry_run, "dataset_profile": "domain_a_v2_academic", "judge": "llm (OpenAI API)", }