from typing import Protocol from ..domain.models import SourceDocument class CMSConnector(Protocol): """Publish normalized source documents to a content system.""" def publish(self, document: SourceDocument) -> str: ...