"""Visible, typed failures for artifact reuse and delivery. Nothing here is ever downgraded to a skip.""" from platform_ci.workspace import PipelineError class DeliveryError(PipelineError): """Base class for every refusal in this package.""" class EnrollmentError(DeliveryError): """An operator enrollment is malformed, crosses the company boundary, or names an unsupported destination.""" class ManifestError(DeliveryError): """A manifest or bundle is malformed, tampered with, or incomplete.""" class ProvenanceError(DeliveryError): """Native provenance is missing, altered, or does not cover the delivered artifacts.""" class ReuseError(DeliveryError): """No existing source artifact may be reused where reuse is required.""" class AuthorizationError(DeliveryError): """The requested destination is not bound to the authenticated identity.""" class UnsupportedFormatError(DeliveryError): """A publication or deployment format has no adapter.""" class PublicationError(DeliveryError): """An adapter refused or failed to publish verified bytes."""