diff --git a/poc-memory/src/bin/memory-search.rs b/poc-memory/src/bin/memory-search.rs index cb2b70f..06820cb 100644 --- a/poc-memory/src/bin/memory-search.rs +++ b/poc-memory/src/bin/memory-search.rs @@ -631,12 +631,13 @@ fn load_recent_seen(dir: &Path, session_id: &str, limit: usize) -> Vec { fn load_seen(dir: &Path, session_id: &str) -> HashSet { let path = dir.join(format!("seen-{}", session_id)); if path.exists() { - fs::read_to_string(path) + let set: HashSet = fs::read_to_string(&path) .unwrap_or_default() .lines() .filter(|s| !s.is_empty()) .map(|s| parse_seen_line(s).to_string()) - .collect() + .collect(); + set } else { HashSet::new() } diff --git a/poc-memory/src/bin/poc-hook.rs b/poc-memory/src/bin/poc-hook.rs index a28e89a..209c4f2 100644 --- a/poc-memory/src/bin/poc-hook.rs +++ b/poc-memory/src/bin/poc-hook.rs @@ -247,6 +247,13 @@ fn surface_agent_cycle(hook: &Value) { let ts = chrono::Local::now().format("%Y-%m-%dT%H:%M:%S"); let _ = writeln!(f, "{}\t{}", ts, key); } + let returned_path = state_dir.join(format!("returned-{}", session_id)); + if let Ok(mut f) = fs::OpenOptions::new() + .create(true).append(true).open(&returned_path) + { + use std::io::Write; + let _ = writeln!(f, "{}", key); + } } } }