pub struct LinkVerifyRecord {
pub source_id: String,
pub target_id: String,
pub relation: String,
pub signature: Option<Vec<u8>>,
pub observed_by: Option<String>,
pub valid_from: Option<String>,
pub valid_until: Option<String>,
pub attest_level: Option<String>,
}Expand description
v0.7 H4 — full row-projection used by the memory_verify MCP tool.
get_links (above) was deliberately scoped to the four columns the
graph-traversal callers care about; H4 needs the signed bundle —
the raw signature blob, the agent_id that signed (observed_by),
and the temporal-validity columns the signature commits to. Splitting
it from get_links keeps the existing read path’s wire shape
unchanged (and its column-count tested by callers).
Returns Ok(None) when the row is absent so the caller can shape a
“not found” response instead of bubbling up a generic SQL error.
Fields§
§source_id: String§target_id: String§relation: String§signature: Option<Vec<u8>>§observed_by: Option<String>§valid_from: Option<String>§valid_until: Option<String>§attest_level: Option<String>Raw column value as stored by H2/H3 ("unsigned", "self_signed",
"peer_attested", or rarely NULL for very old rows that
pre-date the H2 attest_level column). H4’s MCP handler
normalises a NULL to the Unsigned enum variant.
Trait Implementations§
Source§impl Clone for LinkVerifyRecord
impl Clone for LinkVerifyRecord
Source§fn clone(&self) -> LinkVerifyRecord
fn clone(&self) -> LinkVerifyRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for LinkVerifyRecord
impl RefUnwindSafe for LinkVerifyRecord
impl Send for LinkVerifyRecord
impl Sync for LinkVerifyRecord
impl Unpin for LinkVerifyRecord
impl UnsafeUnpin for LinkVerifyRecord
impl UnwindSafe for LinkVerifyRecord
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> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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