pub struct ConductRecord {
pub id: String,
pub agent_did: String,
pub credential_id: String,
pub action: String,
pub reason: String,
pub time_unix: u64,
pub payload_commitment: PayloadCommitment,
pub attestation: Attestation,
}Expand description
A durable record of how and why an agent acted — the conduct trail. It persists after the consent credential is revoked and the payload is gone (revoking consent does not erase accountability), and it binds to the payload commitment (not the payload), so it proves the agent acted on a specific datum without retaining or re-exposing that datum. Append-only in practice (the store is tamper-evident — signed WAL); this type is the record.
Fields§
§id: String§agent_did: StringThe agent who acted (a human worker — accountable).
credential_id: StringThe consent credential the action was taken under (links act → authority).
action: StringWhat the agent did (accessed / decided / referred / requested / escalated / omitted).
reason: StringWhy — the stated basis/authority for the act.
time_unix: u64§payload_commitment: PayloadCommitmentBinds the record to what was acted on — the payload commitment (durable; the payload is not held).
attestation: AttestationThe attestation making this court-auditable and attributable.
Implementations§
Source§impl ConductRecord
impl ConductRecord
Sourcepub fn concerns_commitment(&self, commitment: &PayloadCommitment) -> bool
pub fn concerns_commitment(&self, commitment: &PayloadCommitment) -> bool
Does this conduct record concern the payload committed to by commitment? (Audit link — verify the
agent acted on a specific datum by its commitment, without needing the datum.)
Trait Implementations§
Source§impl Clone for ConductRecord
impl Clone for ConductRecord
Source§fn clone(&self) -> ConductRecord
fn clone(&self) -> ConductRecord
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 ConductRecord
impl Debug for ConductRecord
Source§impl<'de> Deserialize<'de> for ConductRecord
impl<'de> Deserialize<'de> for ConductRecord
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 ConductRecord
impl PartialEq for ConductRecord
Source§fn eq(&self, other: &ConductRecord) -> bool
fn eq(&self, other: &ConductRecord) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ConductRecord
impl Serialize for ConductRecord
impl Eq for ConductRecord
impl StructuralPartialEq for ConductRecord
Auto Trait Implementations§
impl Freeze for ConductRecord
impl RefUnwindSafe for ConductRecord
impl Send for ConductRecord
impl Sync for ConductRecord
impl Unpin for ConductRecord
impl UnsafeUnpin for ConductRecord
impl UnwindSafe for ConductRecord
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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