pub enum StoreError {
Io(Error),
Serde(Error),
CannotPublishImport,
UnknownStage(String),
UnknownSig(String),
InvalidTransition(String),
UnknownBranch(String),
Apply(ApplyError),
TypeError(Vec<TypeError>),
BranchAdvanceBlocked(BranchAdvanceBlocked),
ProducerBlocked(ProducerBlocked),
}Variants§
Io(Error)
Serde(Error)
CannotPublishImport
UnknownStage(String)
UnknownSig(String)
InvalidTransition(String)
UnknownBranch(String)
Apply(ApplyError)
TypeError(Vec<TypeError>)
The candidate program — i.e. the source the caller is publishing — doesn’t typecheck. The branch head is unchanged and no op records are persisted. Issue #130’s “always-valid HEAD” invariant: the gate runs before any side effect, so a type-broken publish leaves no footprint.
BranchAdvanceBlocked(BranchAdvanceBlocked)
The op was persisted but a required_attestations rule in
policy.json (#245) refused to advance the branch head past
it. The op record is durable — re-running with the missing
attestations recorded will succeed without re-persisting —
but the branch is unchanged. Surfaced as a structured JSON
envelope on the HTTP API.
ProducerBlocked(ProducerBlocked)
The op was persisted but its stage carries an attestation produced by a retroactively quarantined tool (#248). The branch head is unchanged. The op record stays in the log (audit trail intact); re-running with the producer unblocked, or with un-contaminated attestations, succeeds without re-persisting the op.
Trait Implementations§
Source§impl Debug for StoreError
impl Debug for StoreError
Source§impl Display for StoreError
impl Display for StoreError
Source§impl Error for StoreError
impl Error for StoreError
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()