MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / load_provenance_compact

Function load_provenance_compact

atomic-cli/src/commands/triage/project.rs:1110–1125  ·  view source on GitHub ↗

Best-effort compact provenance for a change: session, agent label, turn timestamp, and governing plan id. `None` if no provenance graph explains it.

(repo: &Repository, hash_b32: &str)

Source from the content-addressed store, hash-verified

1108/// Best-effort compact provenance for a change: session, agent label, turn
1109/// timestamp, and governing plan id. `None` if no provenance graph explains it.
1110fn load_provenance_compact(repo: &Repository, hash_b32: &str) -> Option<serde_json::Value> {
1111 let hash = Hash::from_base32(hash_b32.as_bytes())?;
1112 let graphs = load_graphs(repo, &hash).ok()?;
1113 let (_, g) = graphs.first()?;
1114 let agent = if g.agent_display_name.is_empty() {
1115 g.agent_name.clone()
1116 } else {
1117 g.agent_display_name.clone()
1118 };
1119 Some(serde_json::json!({
1120 "session_id": g.session_id,
1121 "agent": agent,
1122 "timestamp": g.timestamp,
1123 "plan_id": g.plan_id,
1124 }))
1125}
1126
1127#[cfg(test)]
1128mod tests {

Callers 1

build_reportFunction · 0.85

Calls 4

load_graphsFunction · 0.85
as_bytesMethod · 0.45
is_emptyMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected