diff --git a/poc-memory/src/cli/node.rs b/poc-memory/src/cli/node.rs index 5992c6d..bb5173a 100644 --- a/poc-memory/src/cli/node.rs +++ b/poc-memory/src/cli/node.rs @@ -248,6 +248,22 @@ pub fn cmd_render(key: &[String]) -> Result<(), String> { let rendered = render_node(&store, &bare) .ok_or_else(|| format!("Node not found: {}", bare))?; print!("{}", rendered); + + // Mark as seen if we're inside a Claude session + if let Ok(session_id) = std::env::var("POC_SESSION_ID") { + if !session_id.is_empty() { + let state_dir = std::path::PathBuf::from("/tmp/claude-memory-search"); + let seen_path = state_dir.join(format!("seen-{}", session_id)); + if let Ok(mut f) = std::fs::OpenOptions::new() + .create(true).append(true).open(seen_path) + { + use std::io::Write; + let ts = chrono::Local::now().format("%Y-%m-%dT%H:%M:%S"); + let _ = writeln!(f, "{}\t{}", ts, bare); + } + } + } + Ok(()) }