httk.workflow.errors ==================== .. py:module:: httk.workflow.errors .. autoapi-nested-parse:: Define exceptions raised by :mod:`httk.workflow`. Exceptions ---------- .. autoapisummary:: httk.workflow.errors.SealedError httk.workflow.errors.SealError httk.workflow.errors.WorkflowError httk.workflow.errors.ResolutionMiss httk.workflow.errors.FormatError httk.workflow.errors.WorkspaceUnavailableError httk.workflow.errors.WorkspaceCorruptionError httk.workflow.errors.TransitionLostError httk.workflow.errors.UnsupportedExtensionError httk.workflow.errors.TransactionError httk.workflow.errors.RunnerResolutionError Module Contents --------------- .. py:exception:: SealedError Bases: :py:obj:`RuntimeError` An action was refused because the subject, or its enclosure, is sealed. Changing a project's members while the project is sealed is refused rather than silently allowed: a seal a project commits to must not change beneath it. .. py:exception:: SealError Bases: :py:obj:`RuntimeError` A seal cannot be written or verified. This is the *cannot proceed* failure: no signing key is available, or a member a project seal must cover is itself unsealed or has no handler. It never means an action was refused because something was already sealed; that is :class:`SealedError`. .. py:exception:: WorkflowError Bases: :py:obj:`RuntimeError` Base class for workflow protocol failures. .. py:exception:: ResolutionMiss Bases: :py:obj:`ValueError` A name did not resolve, without indicating malformed configuration. .. py:exception:: FormatError Bases: :py:obj:`WorkflowError`, :py:obj:`ValueError` A workspace, job, journal frame, outcome, or request is malformed. .. py:exception:: WorkspaceUnavailableError Bases: :py:obj:`WorkflowError` The workspace cannot currently provide a coherent protocol view. .. py:exception:: WorkspaceCorruptionError Bases: :py:obj:`WorkflowError` The authoritative filesystem state is internally inconsistent. .. py:exception:: TransitionLostError Bases: :py:obj:`WorkflowError` Another actor committed a transition from the expected marker. .. py:exception:: UnsupportedExtensionError Bases: :py:obj:`WorkflowError` A workspace requires an extension this implementation does not support. .. py:exception:: TransactionError Bases: :py:obj:`WorkflowError` A transactional-data manifest cannot be safely replayed. .. py:exception:: RunnerResolutionError(code, message) Bases: :py:obj:`WorkflowError` A shared runner cannot be resolved or verified. The failure carries the exact protocol failure ``code`` the manager records, so an unresolvable runner (``runner_unavailable``), a runner whose bytes disagree with the digest the job pinned (``runner_mismatch``), a missing registration (``runner_not_built``), and a failed foreground build (``runner_build_failed``) stay distinguishable to an operator. :param code: Protocol failure code recorded by the manager. :param message: Human-readable failure description. .. py:attribute:: code