| """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 | |
| 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)", | |
| } | |