pub struct ExecutionTrace {
pub operation: Operation,
pub prev_state_root: [u8; 32],
pub new_state_root: [u8; 32],
pub document_subtree_root: [u8; 32],
pub chunk_subtree_root: [u8; 32],
pub embedding_subtree_root: [u8; 32],
pub edge_subtree_root: [u8; 32],
pub embedding_inputs: Vec<EmbeddingInput>,
pub embedding_outputs: Vec<[u8; 32]>,
pub timestamp: Hlc,
pub device_id: Uuid,
pub signature: Vec<u8>,
}Expand description
Execution trace for verified execution per CP-003 §10.
This structure enables devices to verify each other’s operations by providing a complete record of the state transition.
Fields§
§operation: OperationThe operation that was executed
prev_state_root: [u8; 32]Hash of the state before this operation
new_state_root: [u8; 32]Hash of the state after this operation
document_subtree_root: [u8; 32]Subtree root for documents
chunk_subtree_root: [u8; 32]Subtree root for chunks
embedding_subtree_root: [u8; 32]Subtree root for embeddings
edge_subtree_root: [u8; 32]Subtree root for edges
embedding_inputs: Vec<EmbeddingInput>Embedding computation inputs (for verification)
embedding_outputs: Vec<[u8; 32]>Embedding computation outputs (hashes of embeddings)
timestamp: HlcTimestamp when operation was executed
device_id: UuidDevice that executed the operation
signature: Vec<u8>Signature of this trace (for non-repudiation)
Trait Implementations§
Source§impl Clone for ExecutionTrace
impl Clone for ExecutionTrace
Source§fn clone(&self) -> ExecutionTrace
fn clone(&self) -> ExecutionTrace
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExecutionTrace
impl Debug for ExecutionTrace
Source§impl<'de> Deserialize<'de> for ExecutionTrace
impl<'de> Deserialize<'de> for ExecutionTrace
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExecutionTrace
impl RefUnwindSafe for ExecutionTrace
impl Send for ExecutionTrace
impl Sync for ExecutionTrace
impl Unpin for ExecutionTrace
impl UnsafeUnpin for ExecutionTrace
impl UnwindSafe for ExecutionTrace
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
Mutably borrows from an owned value. Read more