pub struct SupersessionReceipt {
pub superseding_id: RecordId,
pub superseding_recorded_time: DateTime<Utc>,
pub superseded: SupersessionTarget,
pub superseding_digest: String,
pub superseded_digest: String,
pub receipt_digest: String,
}Expand description
Receipt for a supersession event.
Cryptographically identifies both the superseded record and the superseding record, providing an auditable chain of custody.
Fields§
§superseding_id: RecordIdID of the record that superseded another.
superseding_recorded_time: DateTime<Utc>Recorded time of the superseding record.
superseded: SupersessionTargetThe target that was superseded.
superseding_digest: StringSHA-256 digest of the superseding record content (for integrity verification).
superseded_digest: StringSHA-256 digest of the superseded record content (for integrity verification).
receipt_digest: StringSHA-256 digest of the receipt itself (self-checksum).
Implementations§
Source§impl SupersessionReceipt
impl SupersessionReceipt
Sourcepub fn new<T>(
superseded: BitemporalRecord<T>,
superseding: BitemporalRecord<T>,
) -> Selfwhere
T: Serialize,
pub fn new<T>(
superseded: BitemporalRecord<T>,
superseding: BitemporalRecord<T>,
) -> Selfwhere
T: Serialize,
Create a new supersession receipt from superseded and superseding records.
The receipt is the cryptographic audit handle for a supersession event. The digests bind all content of both records (id, temporal fields, AND the JSON-serialized value) so that two records differing only in their value produce different digests. The receipt_digest additionally binds the two record digests so the supersession relationship is itself tamper-evident.
Trait Implementations§
Source§impl Clone for SupersessionReceipt
impl Clone for SupersessionReceipt
Source§fn clone(&self) -> SupersessionReceipt
fn clone(&self) -> SupersessionReceipt
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more