From 1575cafc4b0be0f2f454df957796d5b040c3ab23 Mon Sep 17 00:00:00 2001 From: "Dhanji R. Prasanna" Date: Sun, 11 Jan 2026 08:03:46 +0800 Subject: [PATCH] fix: add --auto-memory support to agent mode The --auto-memory flag was not being passed to run_agent_mode() and send_auto_memory_reminder() was not being called after agent task execution. Changes: - Pass auto_memory parameter to run_agent_mode() - Add auto_memory parameter to run_agent_mode() function signature - Call agent.set_auto_memory(true) when flag is enabled - Call send_auto_memory_reminder() after execute_task() in agent mode --- crates/g3-cli/src/lib.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/crates/g3-cli/src/lib.rs b/crates/g3-cli/src/lib.rs index b3a4e9c..f0e6835 100644 --- a/crates/g3-cli/src/lib.rs +++ b/crates/g3-cli/src/lib.rs @@ -440,6 +440,7 @@ pub async fn run() -> Result<()> { cli.task.clone(), cli.chrome_headless, cli.safari, + cli.auto_memory, ) .await; } @@ -455,6 +456,7 @@ pub async fn run() -> Result<()> { cli.task.clone(), cli.chrome_headless, cli.safari, + cli.auto_memory, ) .await; } @@ -701,6 +703,7 @@ async fn run_agent_mode( task: Option, chrome_headless: bool, safari: bool, + auto_memory: bool, ) -> Result<()> { use g3_core::get_agent_system_prompt; use g3_core::find_incomplete_agent_session; @@ -832,6 +835,11 @@ async fn run_agent_mode( // Set agent mode for session tracking agent.set_agent_mode(agent_name); + // Apply auto-memory flag if enabled + if auto_memory { + agent.set_auto_memory(true); + } + // If resuming a session, restore context and TODO let initial_task = if let Some(ref incomplete_session) = resuming_session { // Restore the session context @@ -886,6 +894,11 @@ async fn run_agent_mode( let _result = agent.execute_task(final_task, None, true).await?; + // Send auto-memory reminder if enabled and tools were called + if let Err(e) = agent.send_auto_memory_reminder().await { + debug!("Auto-memory reminder failed: {}", e); + } + // Save session continuation for resume capability agent.save_session_continuation(None);