pub struct Observation {Show 16 fields
pub id: ObservationId,
pub tenant_id: TenantId,
pub project_id: ProjectId,
pub source_event_id: Option<String>,
pub source_uri: Option<String>,
pub subject_id: Option<VertexId>,
pub predicate: String,
pub object_id: Option<VertexId>,
pub object_value: Option<Value>,
pub observed_at: DateTime<Utc>,
pub extracted_at: DateTime<Utc>,
pub confidence: Option<f32>,
pub evidence_ids: Vec<EvidenceId>,
pub extractor_version: Option<String>,
pub metadata: Value,
pub author: Option<AuthorStamp>,
}Expand description
An atomic, source-bound fact about a subject.
Append-only: once an observation is stored, it cannot be modified. Re-submitting identical content under the same id is a no-op (idempotent). Re-submitting different content under the same id is a conflict.
Fields§
§id: ObservationIdObservation id, unique within the scope.
tenant_id: TenantIdOwning tenant.
project_id: ProjectIdOwning project.
source_event_id: Option<String>Identifier of the source event (e.g. “meeting_001”, “email_002”, “crm_webhook_2026-04-29T18:02”). Optional because some observations are aggregated (e.g. “champion silent for 14 days”) and don’t tie to a single event.
source_uri: Option<String>URI of the source artifact (e.g. “antares://transcripts/m1#1240-1295”).
Optional and may duplicate evidence_ids[0].source_uri.
subject_id: Option<VertexId>Subject of the observation — typically a deal, person, meeting, or email vertex. Optional for observations that aren’t anchored to a specific entity (e.g. aggregate behavioral signals).
predicate: StringWhat was observed about the subject. Free-form string — common values include “joined_review”, “mentioned_topic”, “viewed”, “opened_email”, “forwarded_to”, “went_silent”, “usage_dropped”.
object_id: Option<VertexId>Object of the predicate when the observation is relational.
object_value: Option<Value>Object as a literal value when the observation isn’t relational (e.g. “SOC2 was mentioned” → object_value = “SOC2”; “page opens count” → object_value = 5).
observed_at: DateTime<Utc>Wall-clock time the underlying event happened.
extracted_at: DateTime<Utc>Wall-clock time the extractor produced this observation.
confidence: Option<f32>Confidence in [0,1]; None is treated as 1.0.
evidence_ids: Vec<EvidenceId>First-class evidence references. Each Observation should point at one or more Evidence records that back it.
extractor_version: Option<String>Version tag of the producing extractor, verbatim.
metadata: ValueFree-form metadata for extractor-specific extras.
Which user authored this observation. None for older
records and for anonymous calls. Set by the writer from the
resolved authentication context at write time.
Trait Implementations§
Source§impl Clone for Observation
impl Clone for Observation
Source§fn clone(&self) -> Observation
fn clone(&self) -> Observation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more