pub enum ConflictKind {
MissingInPeer,
MissingLocally,
ConfidenceDiverged,
RetractedDiverged,
ReviewStateDiverged,
SupersededDiverged,
AssertionTextDiverged,
BrokenLocator,
UnverifiedPeerEntry,
}Expand description
v0.39.1: Conflict taxonomy. The kinds of disagreement two hubs can
have over the same vfr_id. v0.39.0 left kind as an open string;
v0.39.1 pins it to this closed set, derived from auditing every
substantive field-level disagreement we expect to see.
Variants§
MissingInPeer
Finding present in our frontier, absent in the peer’s.
MissingLocally
Finding present in the peer’s frontier, absent in ours.
ConfidenceDiverged
Same vf_id, score differs by more than 0.05. Below the
threshold it’s noise from confidence recompute drift.
RetractedDiverged
Same vf_id, one side has it retracted, the other doesn’t.
ReviewStateDiverged
Same vf_id, different flags.review_state.
SupersededDiverged
Same vf_id, one side has it superseded, the other doesn’t.
AssertionTextDiverged
Same vf_id, different assertion text. This is a serious
signal — vf_id is content-addressed over the assertion, so
matching id with diverging text means a content-address
collision or signing-bytes mismatch between implementations.
BrokenLocator
v0.41.0: peer’s registry entry resolves but its
network_locator returns 4xx/5xx. The peer hub is healthy and
signed the entry, but the manifest URL the entry points at is
dead. Common when frontiers move repos (e.g. v0.34.1 split
vela-science/vela → vela-science/vela-frontiers) and the
peer’s published entry was never refreshed. Surfaces the
stale-locator failure mode that “peer is reachable but
content isn’t” produces — distinct from a missing finding.
UnverifiedPeerEntry
v0.41.0: peer’s registry entry exists but its signature does not verify against the registered owner pubkey. Either the signature is corrupt or the owner pubkey we registered for this peer is wrong. Halts content sync — the kernel won’t trust unsigned-or-misverified state.
Implementations§
Trait Implementations§
Source§impl Clone for ConflictKind
impl Clone for ConflictKind
Source§fn clone(&self) -> ConflictKind
fn clone(&self) -> ConflictKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ConflictKind
impl Debug for ConflictKind
Source§impl<'de> Deserialize<'de> for ConflictKind
impl<'de> Deserialize<'de> for ConflictKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ConflictKind
impl PartialEq for ConflictKind
Source§fn eq(&self, other: &ConflictKind) -> bool
fn eq(&self, other: &ConflictKind) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ConflictKind
impl Serialize for ConflictKind
impl Copy for ConflictKind
impl Eq for ConflictKind
impl StructuralPartialEq for ConflictKind
Auto Trait Implementations§
impl Freeze for ConflictKind
impl RefUnwindSafe for ConflictKind
impl Send for ConflictKind
impl Sync for ConflictKind
impl Unpin for ConflictKind
impl UnsafeUnpin for ConflictKind
impl UnwindSafe for ConflictKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.