use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use systemprompt_identifiers::{AiRequestId, BrainFactId, BrainRecallId};
use super::recall::RecallAudit;
pub const CITED_IN_RESPONSE: &str = "cited_in_response";
pub const USER_CORRECTED_FACT: &str = "user_corrected_fact";
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct BrainOutcome {
pub recall_id: BrainRecallId,
pub fact_id: BrainFactId,
pub signal: String,
pub value: f64,
pub observed_at: DateTime<Utc>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct OutcomeObservation {
pub ai_request_id: AiRequestId,
pub recall: RecallAudit,
pub response_text: Option<String>,
pub observed_at: DateTime<Utc>,
}