"""The single failure type. Every validation/parse problem raises BuildError so the CLI can print a uniform 'BUILD FAILED: [] ()'.""" class BuildError(Exception): def __init__(self, message: str, source: str = "", entry_id: str = ""): self.message = message self.source = source self.entry_id = entry_id loc = f" [{entry_id}]" if entry_id else "" src = f" ({source})" if source else "" super().__init__(f"{message}{loc}{src}")