mur_common/multimodal/provenance.rs
1use serde::{Deserialize, Serialize};
2
3/// One line in `<agent_dir>/telemetry/inputs.jsonl`.
4///
5/// Append-only; per-turn read by `B0SafetyHook::on_prompt_submit` to
6/// know which untrusted artifacts to wrap.
7#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct ProvenanceEntry {
9 pub sha256: String,
10 /// e.g. `"user_drop"`, `"user_paste"`, `"a2a_attachment"`.
11 pub source: String,
12 pub decoder_version: String,
13 pub ocr_engine_version: Option<String>,
14 /// Monotonic per-agent turn counter.
15 pub turn_id: u64,
16 pub recorded_at: chrono::DateTime<chrono::Utc>,
17}