From 966219720a1d20f23c1d3df87ead3b1360cc1f84 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Sun, 22 Mar 2026 23:06:46 -0400 Subject: [PATCH] fix: mark surfaced keys as returned so --seen classifies them correctly The surface agent result consumer in poc-hook was writing to the seen file but not the returned file, so surfaced keys showed up as "context-loaded" in memory-search --seen. Co-Authored-By: Claude Opus 4.6 (1M context) --- poc-memory/src/bin/memory-search.rs | 5 +++-- poc-memory/src/bin/poc-hook.rs | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) 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); + } } } }