"""Domain-level exceptions for service and repository layers.""" from dataclasses import dataclass from typing import Sequence class EntityNotFoundError(Exception): """Raised when a requested entity cannot be located.""" class EntityConflictError(Exception): """Raised when attempting to create or update an entity that violates uniqueness.""" @dataclass(eq=False) class ScenarioValidationError(Exception): """Raised when scenarios fail comparison validation rules.""" code: str message: str scenario_ids: Sequence[int] | None = None def __str__(self) -> str: # pragma: no cover - mirrors message for logging return self.message