from typing import Protocol from ..domain.models import IngestionRequest, SourceDocument class SCMConnector(Protocol): """Retrieve documents from a source-control system.""" def fetch(self, request: IngestionRequest) -> list[SourceDocument]: ...