From 11cbd9664a80cd25d834983e511c654a31a18421 Mon Sep 17 00:00:00 2001 From: ProofOfConcept Date: Tue, 10 Mar 2026 23:40:38 -0400 Subject: [PATCH] naming: strip backticks from Haiku responses Haiku sometimes wraps its CREATE/RENAME/MERGE_INTO lines in backticks. Strip them before parsing so the response is recognized. --- poc-memory/src/agents/knowledge.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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