from pathlib import Path from typing import Protocol from ..models import HarnessConfig, ProjectSelection, Toolchain, ValidationPlan class AdapterError(RuntimeError): pass class ValidationAdapter(Protocol): def create_plan( self, root: Path, selection: ProjectSelection, config: HarnessConfig, tools: Toolchain, ) -> ValidationPlan: raise NotImplementedError