pub struct InterfaceSealRecord {
pub seal_id: String,
pub session_id: String,
pub node_id: String,
pub sealed_path: String,
pub artifact_kind: ArtifactKind,
pub seal_hash: [u8; 32],
pub version: u32,
pub created_at: i64,
}Expand description
PSP-5 Phase 6: Record of a sealed interface produced by a node.
An interface seal is a hash over the exported signatures, schemas, or symbol inventories that downstream nodes depend on. Once sealed, the interface is immutable within the current SRBN iteration — dependent context is assembled from the seal rather than from mutable parent implementation files.
Fields§
§seal_id: StringUnique seal identifier.
session_id: StringSession this seal belongs to.
node_id: StringNode that produced (and owns) this seal.
sealed_path: StringPath of the sealed artifact (relative to workspace).
artifact_kind: ArtifactKindThe kind of structural artifact that was sealed.
seal_hash: [u8; 32]SHA-256 hash of the sealed content.
version: u32Monotonically increasing version (incremented on re-seal after parent retry).
created_at: i64Timestamp of seal creation (epoch seconds).
Implementations§
Source§impl InterfaceSealRecord
impl InterfaceSealRecord
Sourcepub fn from_digest(
session_id: impl Into<String>,
node_id: impl Into<String>,
digest: &StructuralDigest,
) -> InterfaceSealRecord
pub fn from_digest( session_id: impl Into<String>, node_id: impl Into<String>, digest: &StructuralDigest, ) -> InterfaceSealRecord
Create a new seal from existing structural digest data.
Sourcepub fn matches_hash(&self, hash: &[u8; 32]) -> bool
pub fn matches_hash(&self, hash: &[u8; 32]) -> bool
Check whether this seal matches a given digest hash.
Trait Implementations§
Source§impl Clone for InterfaceSealRecord
impl Clone for InterfaceSealRecord
Source§fn clone(&self) -> InterfaceSealRecord
fn clone(&self) -> InterfaceSealRecord
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InterfaceSealRecord
impl Debug for InterfaceSealRecord
Source§impl<'de> Deserialize<'de> for InterfaceSealRecord
impl<'de> Deserialize<'de> for InterfaceSealRecord
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<InterfaceSealRecord, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<InterfaceSealRecord, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for InterfaceSealRecord
impl Serialize for InterfaceSealRecord
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for InterfaceSealRecord
impl RefUnwindSafe for InterfaceSealRecord
impl Send for InterfaceSealRecord
impl Sync for InterfaceSealRecord
impl Unpin for InterfaceSealRecord
impl UnsafeUnpin for InterfaceSealRecord
impl UnwindSafe for InterfaceSealRecord
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more