pub enum CompositionError {
InvalidRequestedPolicy {
source: PolicyError,
},
InvalidCeiling {
source: PolicyError,
},
InvalidWorkspaceRoot {
path: PathBuf,
reason: &'static str,
},
WorkspaceRootNotGranted {
path: PathBuf,
},
InvalidPathContext {
source: PolicyError,
},
PathContextMismatch,
EnvironmentBaseTooPermissive {
required: EnvironmentBase,
supplied: EnvironmentBase,
},
EnvironmentApplication {
source: CommandError,
},
EnforcementOwnershipConflict {
boundary: CompositionBoundary,
},
ExternalOwnerMismatch {
boundary: CompositionBoundary,
},
UnexpectedExternalOwner {
boundary: CompositionBoundary,
},
PolicyEvaluation {
boundary: CompositionBoundary,
source: PolicyError,
},
}Expand description
An error raised while narrowing a requested policy.
Variants§
InvalidRequestedPolicy
The requested policy failed its own invariant checks.
Fields
source: PolicyErrorThe validation error from the policy crate.
InvalidCeiling
The ceiling failed its own invariant checks.
Fields
source: PolicyErrorThe validation error from the policy crate.
InvalidWorkspaceRoot
A path could not be used as a workspace-root declaration.
Fields
WorkspaceRootNotGranted
A requested root is outside the roots permitted by the ceiling.
InvalidPathContext
The effective runtime path context could not be rebuilt safely.
Fields
source: PolicyErrorThe underlying path-context validation error.
PathContextMismatch
A filesystem context came from a different effective composition.
EnvironmentBaseTooPermissive
The caller supplied an environment base broader than the effective composition allows.
Fields
required: EnvironmentBaseThe narrowest base accepted by the effective policy.
supplied: EnvironmentBaseThe base supplied by the backend caller.
EnvironmentApplication
Applying a validated environment transformation failed.
Fields
source: CommandErrorThe command-layer error raised while applying the transformation.
EnforcementOwnershipConflict
One side delegates enforcement while the other expects local enforcement.
Fields
boundary: CompositionBoundaryThe boundary with incompatible ownership.
ExternalOwnerMismatch
External enforcement was requested without one shared owner proof.
Fields
boundary: CompositionBoundaryThe boundary with unrelated or missing external owners.
UnexpectedExternalOwner
An external owner proof was attached to a locally enforced boundary.
Fields
boundary: CompositionBoundaryThe boundary with an unexpected owner proof.
PolicyEvaluation
Evaluating one component policy failed after composition.
Fields
boundary: CompositionBoundaryThe boundary being evaluated.
source: PolicyErrorThe underlying policy error.
Trait Implementations§
Source§impl Clone for CompositionError
impl Clone for CompositionError
Source§impl Debug for CompositionError
impl Debug for CompositionError
Source§impl Display for CompositionError
impl Display for CompositionError
impl Eq for CompositionError
Source§impl Error for CompositionError
impl Error for CompositionError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()