From 1629a2c4e30b4b77250618e0d09a9015d025e84a Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Tue, 17 Mar 2026 18:06:06 -0400 Subject: [PATCH] ops: factor out current_provenance() helper The POC_PROVENANCE env var lookup was duplicated in upsert, delete_node, and rename_node. Extract to a single function. Co-Authored-By: Kent Overstreet --- poc-memory/src/store/ops.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/poc-memory/src/store/ops.rs b/poc-memory/src/store/ops.rs index 6c6ea94..ae9d751 100644 --- a/poc-memory/src/store/ops.rs +++ b/poc-memory/src/store/ops.rs @@ -7,6 +7,13 @@ use super::types::*; use std::collections::{HashMap, HashSet}; +/// Provenance from POC_PROVENANCE env var, defaulting to "manual". +fn current_provenance() -> String { + Provenance::from_env() + .map(|p| p.label().to_string()) + .unwrap_or_else(|| "manual".to_string()) +} + impl Store { /// Add or update a node (appends to log + updates cache). /// Holds StoreLock across refresh + check + write to prevent duplicate UUIDs. @@ -37,9 +44,7 @@ impl Store { /// Provenance is determined by the POC_PROVENANCE env var if set, /// otherwise defaults to Manual. pub fn upsert(&mut self, key: &str, content: &str) -> Result<&'static str, String> { - let prov = Provenance::from_env() - .map(|p| p.label().to_string()) - .unwrap_or_else(|| "manual".to_string()); + let prov = current_provenance(); self.upsert_provenance(key, content, &prov) } @@ -76,9 +81,7 @@ impl Store { let _lock = StoreLock::acquire()?; self.refresh_nodes()?; - let prov = Provenance::from_env() - .map(|p| p.label().to_string()) - .unwrap_or_else(|| "manual".to_string()); + let prov = current_provenance(); let node = self.nodes.get(key) .ok_or_else(|| format!("No node '{}'", key))?; @@ -115,9 +118,7 @@ impl Store { .ok_or_else(|| format!("No node '{}'", old_key))? .clone(); - let prov = Provenance::from_env() - .map(|p| p.label().to_string()) - .unwrap_or_else(|| "manual".to_string()); + let prov = current_provenance(); // New version under the new key let mut renamed = node.clone();