diff --git a/src/cli/node.rs b/src/cli/node.rs index 261d72f..b02c9db 100644 --- a/src/cli/node.rs +++ b/src/cli/node.rs @@ -5,7 +5,6 @@ use anyhow::{bail, Context, Result}; use crate::hippocampus as memory; -use crate::store; pub async fn cmd_weight_set(key: &str, weight: f32) -> Result<()> { super::check_dry_run(); @@ -48,9 +47,8 @@ pub async fn cmd_render(key: &[String]) -> Result<()> { bail!("render requires a key"); } let key = key.join(" "); - let bare = store::strip_md_suffix(&key); - let rendered = memory::memory_render(None, &bare, None).await?; + let rendered = memory::memory_render(None, &key, None).await?; print!("{}", rendered); // Mark as seen if we're inside a Claude session (not an agent subprocess — @@ -67,7 +65,7 @@ pub async fn cmd_render(key: &[String]) -> Result<()> { { use std::io::Write; let ts = chrono::Local::now().format("%Y-%m-%dT%H:%M:%S"); - let _ = writeln!(f, "{}\t{}", ts, bare); + let _ = writeln!(f, "{}\t{}", ts, key); } } diff --git a/src/hippocampus/store/mod.rs b/src/hippocampus/store/mod.rs index fee0770..8e5fec0 100644 --- a/src/hippocampus/store/mod.rs +++ b/src/hippocampus/store/mod.rs @@ -36,17 +36,6 @@ use redb::Database; use std::sync::atomic::AtomicU64; use std::sync::Mutex; -/// Strip .md suffix from a key, handling both bare keys and section keys. -/// "identity.md" → "identity", "foo.md#section" → "foo#section", "identity" → "identity" -pub fn strip_md_suffix(key: &str) -> String { - if let Some((file, section)) = key.split_once('#') { - let bare = file.strip_suffix(".md").unwrap_or(file); - format!("{}#{}", bare, section) - } else { - key.strip_suffix(".md").unwrap_or(key).to_string() - } -} - // The full in-memory store with internal locking pub struct Store { /// Log sizes at load time — used for staleness detection. @@ -167,11 +156,8 @@ impl Store { } pub fn resolve_key(&self, target: &str) -> Result { - // Strip .md suffix if present — keys no longer use it - let bare = strip_md_suffix(target); - - if self.contains_key(&bare)? { - return Ok(bare); + if self.contains_key(target)? { + return Ok(target.to_string()); } let db = self.db.as_ref() diff --git a/src/subconscious/digest.rs b/src/subconscious/digest.rs index 5dc7c8d..d6a272b 100644 --- a/src/subconscious/digest.rs +++ b/src/subconscious/digest.rs @@ -23,16 +23,6 @@ fn normalize_link_key(raw: &str) -> String { let mut key = key.to_string(); - // Strip .md suffix if present - if let Some(stripped) = key.strip_suffix(".md") { - key = stripped.to_string(); - } else if key.contains('#') { - let (file, section) = key.split_once('#').unwrap(); - if let Some(bare) = file.strip_suffix(".md") { - key = format!("{}-{}", bare, section); - } - } - // weekly/2026-W06 → weekly-2026-W06, etc. if let Some(pos) = key.find('/') { let prefix = &key[..pos];