From 916f14a092212f8fb895705c81569da22fec53a7 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Wed, 1 Apr 2026 15:20:00 -0400 Subject: [PATCH] Log effective tool list, not just whitelist Shows the actual tool names each agent will receive after whitelist filtering, so logs are accurate regardless of whether tools is empty (all) or specified. Co-Authored-By: Proof of Concept --- src/subconscious/knowledge.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/subconscious/knowledge.rs b/src/subconscious/knowledge.rs index 984ec9b..c97482e 100644 --- a/src/subconscious/knowledge.rs +++ b/src/subconscious/knowledge.rs @@ -294,11 +294,16 @@ fn run_one_agent_inner( _llm_tag: &str, log: &(dyn Fn(&str) + Sync), ) -> Result { - let tools_desc = if def.tools.is_empty() { - "all tools".into() + let all_tools = crate::thought::memory_and_journal_definitions(); + let effective_tools: Vec = if def.tools.is_empty() { + all_tools.iter().map(|t| t.function.name.clone()).collect() } else { - def.tools.join(", ") + all_tools.iter() + .filter(|t| def.tools.iter().any(|w| w == &t.function.name)) + .map(|t| t.function.name.clone()) + .collect() }; + let tools_desc = effective_tools.join(", "); let n_steps = agent_batch.steps.len(); for key in &agent_batch.node_keys {