pub struct JournalRecord {Show 26 fields
pub journal_schema_version: u16,
pub journal_seq: u64,
pub record_id: String,
pub record_kind: JournalRecordKind,
pub run_id: RunId,
pub agent_id: AgentId,
pub turn_id: Option<TurnId>,
pub attempt_id: Option<AttemptId>,
pub subject_ref: EntityRef,
pub related_refs: Vec<EntityRef>,
pub causal_refs: Vec<String>,
pub source: SourceRef,
pub destination: Option<DestinationRef>,
pub correlation_keys: Vec<CorrelationEntry>,
pub tags: Vec<String>,
pub delivery_semantics: String,
pub event_index: EventIndexProjection,
pub timestamp_millis: u64,
pub runtime_package_fingerprint: String,
pub privacy: PrivacyClass,
pub content_refs: Vec<ContentRef>,
pub redaction_policy_id: String,
pub idempotency_key: Option<IdempotencyKey>,
pub dedupe_key: Option<DedupeKey>,
pub checkpoint_ref: Option<String>,
pub payload: JournalRecordPayload,
}Expand description
Carries the journal record record payload for journal, event, or fixture surfaces. Creating or cloning it only preserves serialized SDK state; append, publish, replay, or export effects are documented on the runtime and port methods that store it.
Fields§
§journal_schema_version: u16Wire schema version for this record shape. Use it for compatibility checks before deserializing or replaying stored data.
journal_seq: u64Journal seq used by this record or request.
record_id: StringStable record id used for typed lineage, lookup, or dedupe.
record_kind: JournalRecordKindKind discriminator for record kind. Use it to route finite match arms without parsing display text.
run_id: RunIdRun identifier used for lineage, filtering, replay, and dedupe.
agent_id: AgentIdAgent identifier used for lineage, filtering, and ownership checks.
turn_id: Option<TurnId>Turn identifier for one loop turn within a run.
attempt_id: Option<AttemptId>Attempt identifier for retry, repair, provider, or tool execution evidence.
subject_ref: EntityRefTyped subject ref reference. Resolving or executing it is a separate policy-gated step.
Typed related refs references. Resolving them is separate from constructing this record.
causal_refs: Vec<String>Typed causal refs references. Resolving them is separate from constructing this record.
source: SourceRefSource label or ref for this item; it is metadata and does not fetch content by itself.
destination: Option<DestinationRef>Destination label or ref for this item; it is metadata and does not deliver content by itself.
correlation_keys: Vec<CorrelationEntry>Correlation-key selector for event filtering.
Any leaves correlation keys unconstrained; Include restricts matches to listed keys.
Tag selector for event filtering.
Any leaves tags unconstrained; Include restricts matches to listed event tags.
delivery_semantics: StringDelivery-semantic selector for event filtering.
Any leaves delivery semantics unconstrained; Include restricts matches to listed
semantics.
event_index: EventIndexProjectionEvent index used by this record or request.
timestamp_millis: u64Timestamp in milliseconds associated with this record. Use it for ordering and diagnostics; durable causality still comes from ids and cursors.
runtime_package_fingerprint: StringFingerprint of the runtime package snapshot in force when this value was produced. Use it for replay, dedupe, and package-lineage checks; the field is evidence and does not execute package behavior.
privacy: PrivacyClassPrivacy class used for projection, telemetry, and raw-content access decisions.
content_refs: Vec<ContentRef>Content references associated with this record; resolving them is a separate policy-gated step.
redaction_policy_id: StringStable redaction policy id used for typed lineage, lookup, or dedupe.
idempotency_key: Option<IdempotencyKey>Idempotency setting or key for deduping retries. Use it to prevent duplicate side effects during replay or repair.
dedupe_key: Option<DedupeKey>Dedupe policy or key for a side-effecting operation. Replay and repair use it to avoid sending or executing the same effect twice.
checkpoint_ref: Option<String>Typed checkpoint ref reference. Resolving or executing it is a separate policy-gated step.
payload: JournalRecordPayloadPayload carried by this record. Use the surrounding policy and redaction fields to decide whether it can be exposed.
Implementations§
Source§impl JournalRecord
impl JournalRecord
Sourcepub fn effect_intent(base: JournalRecordBase, intent: EffectIntent) -> Self
pub fn effect_intent(base: JournalRecordBase, intent: EffectIntent) -> Self
Returns an updated records::journal value with effect intent applied. This is data construction only and does not execute the configured behavior.
Sourcepub fn effect_result(base: JournalRecordBase, result: EffectResult) -> Self
pub fn effect_result(base: JournalRecordBase, result: EffectResult) -> Self
Builds the effect result record or result value. This is data-only and does not perform I/O, call host ports, append journals, publish events, or start processes.
Sourcepub fn checkpoint(base: JournalRecordBase, checkpoint: RunCheckpoint) -> Self
pub fn checkpoint(base: JournalRecordBase, checkpoint: RunCheckpoint) -> Self
Builds the checkpoint record or result value. This is data-only and does not perform I/O, call host ports, append journals, publish events, or start processes.
Sourcepub fn recovery(base: JournalRecordBase, recovery: RecoveryMarker) -> Self
pub fn recovery(base: JournalRecordBase, recovery: RecoveryMarker) -> Self
Recovery. This is data-only and does not perform I/O, call host ports, append journals, publish events, or start processes.
Sourcepub fn feature_record(
base: JournalRecordBase,
record_kind: JournalRecordKind,
event_family: impl Into<String>,
event_kind: impl Into<String>,
subject_ref: EntityRef,
related_refs: Vec<EntityRef>,
content_refs: Vec<ContentRef>,
payload: JournalRecordPayload,
) -> Self
pub fn feature_record( base: JournalRecordBase, record_kind: JournalRecordKind, event_family: impl Into<String>, event_kind: impl Into<String>, subject_ref: EntityRef, related_refs: Vec<EntityRef>, content_refs: Vec<ContentRef>, payload: JournalRecordPayload, ) -> Self
Builds the feature record record or result value. This is data-only and does not perform I/O, call host ports, append journals, publish events, or start processes.
Trait Implementations§
Source§impl Clone for JournalRecord
impl Clone for JournalRecord
Source§fn clone(&self) -> JournalRecord
fn clone(&self) -> JournalRecord
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 JournalRecord
impl Debug for JournalRecord
Source§impl<'de> Deserialize<'de> for JournalRecord
impl<'de> Deserialize<'de> for JournalRecord
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 JournalRecord
impl PartialEq for JournalRecord
Source§fn eq(&self, other: &JournalRecord) -> bool
fn eq(&self, other: &JournalRecord) -> bool
self and other values to be equal, and is used by ==.