diff --git a/poc-memory/src/agents/knowledge.rs b/poc-memory/src/agents/knowledge.rs index fc98d88..e0af45c 100644 --- a/poc-memory/src/agents/knowledge.rs +++ b/poc-memory/src/agents/knowledge.rs @@ -447,15 +447,16 @@ fn format_naming_prompt( /// Parse naming agent response. fn parse_naming_response(response: &str) -> Option { for line in response.lines() { - let trimmed = line.trim(); + // Strip backticks — Haiku sometimes wraps the response line in them + let trimmed = line.trim().trim_matches('`').trim(); if let Some(key) = trimmed.strip_prefix("CREATE ") { - return Some(NamingResolution::Create(key.trim().to_string())); + return Some(NamingResolution::Create(key.trim().trim_matches('`').to_string())); } if let Some(key) = trimmed.strip_prefix("RENAME ") { - return Some(NamingResolution::Create(key.trim().to_string())); + return Some(NamingResolution::Create(key.trim().trim_matches('`').to_string())); } if let Some(key) = trimmed.strip_prefix("MERGE_INTO ") { - return Some(NamingResolution::MergeInto(key.trim().to_string())); + return Some(NamingResolution::MergeInto(key.trim().trim_matches('`').to_string())); } } None