Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions crates/tui/src/core/engine/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2594,7 +2594,6 @@ fn non_yolo_mode_retains_default_defer_policy() {
assert!(!should_default_defer_tool("run_tests", &always_load));
assert!(!should_default_defer_tool("agent", &always_load));
assert!(!should_default_defer_tool("read_file", &always_load));
assert!(!should_default_defer_tool("remember", &always_load));
assert!(!should_default_defer_tool(
"wait_for_dev_server",
&always_load
Expand Down Expand Up @@ -2654,7 +2653,6 @@ fn model_tool_catalog_applies_native_and_mcp_deferral() {
api_tool("write_file"),
api_tool("exec_shell"),
api_tool("edit_file"),
api_tool("remember"),
api_tool("project_map"),
],
vec![api_tool("list_mcp_resources"), api_tool("mcp_server_write")],
Expand All @@ -2673,7 +2671,6 @@ fn model_tool_catalog_applies_native_and_mcp_deferral() {
assert_eq!(defer_loading("write_file"), Some(false));
assert_eq!(defer_loading("exec_shell"), Some(false));
assert_eq!(defer_loading("edit_file"), Some(false));
assert_eq!(defer_loading("remember"), Some(false));
assert_eq!(defer_loading("project_map"), Some(true));
assert_eq!(defer_loading("list_mcp_resources"), Some(false));
assert_eq!(defer_loading("mcp_server_write"), Some(true));
Expand Down
1 change: 0 additions & 1 deletion crates/tui/src/core/engine/tool_catalog.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ pub(super) const DEFAULT_ACTIVE_NATIVE_TOOLS: &[&str] = &[
"grep_files",
"list_dir",
"read_file",
"remember",
"run_tests",
"run_verifiers",
"task_create",
Expand Down
26 changes: 0 additions & 26 deletions crates/tui/src/core/engine/tool_setup.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ use crate::core::authority::shell_policy_for_mode;
use crate::tools::AgentToolSurfaceOptions;
use crate::worker_profile::ShellPolicy;

fn should_register_remember_tool(memory_enabled: bool, moraine_fallback: bool) -> bool {
memory_enabled && !moraine_fallback
}

impl Engine {
pub(super) fn agent_tool_surface_options(
&self,
Expand All @@ -19,8 +15,6 @@ impl Engine {
let mut options = AgentToolSurfaceOptions::new(shell_policy);
options.apply_patch_enabled = self.config.features.enabled(Feature::ApplyPatch);
options.web_search_enabled = self.config.features.enabled(Feature::WebSearch);
options.memory_tool_enabled =
should_register_remember_tool(self.config.memory_enabled, self.config.moraine_fallback);
options.vision_config = if self.config.features.enabled(Feature::VisionModel) {
self.config.vision_config.clone()
} else {
Expand Down Expand Up @@ -80,14 +74,6 @@ impl Engine {
builder = builder.with_web_tools();
}

// Register the `remember` tool only when the user has opted in to
// user-memory (#489). Without that opt-in the tool would always
// fail; surfacing it would just waste catalog slots.
// TODO(v0.8.71): remove when Moraine recall stable; see #3490, #3495
if should_register_remember_tool(self.config.memory_enabled, self.config.moraine_fallback) {
builder = builder.with_remember_tool();
}

// Register image_analyze tool when vision_model is configured and feature enabled.
if self.config.features.enabled(Feature::VisionModel)
&& let Some(ref vision_config) = self.config.vision_config
Expand All @@ -111,15 +97,3 @@ impl Engine {
builder
}
}

#[cfg(test)]
mod tests {
use super::should_register_remember_tool;

#[test]
fn remember_tool_registration_respects_moraine_fallback() {
assert!(should_register_remember_tool(true, false));
assert!(!should_register_remember_tool(false, false));
assert!(!should_register_remember_tool(true, true));
}
}
1 change: 0 additions & 1 deletion crates/tui/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8319,7 +8319,6 @@ async fn build_direct_workflow_tool(
let mut surface = AgentToolSurfaceOptions::new(shell_policy);
surface.apply_patch_enabled = features.enabled(Feature::ApplyPatch);
surface.web_search_enabled = features.enabled(Feature::WebSearch);
surface.memory_tool_enabled = config.memory_enabled() && !config.moraine_fallback();
surface.vision_config = features
.enabled(Feature::VisionModel)
.then(|| config.vision_model_config())
Expand Down
1 change: 0 additions & 1 deletion crates/tui/src/tools/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ pub mod plan;
pub mod plugin;
pub mod project;
pub mod registry;
pub mod remember;
pub mod revert_turn;
pub mod review;
pub mod rlm;
Expand Down
15 changes: 0 additions & 15 deletions crates/tui/src/tools/registry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -497,7 +497,6 @@ pub struct AgentToolSurfaceOptions {
pub shell_policy: crate::worker_profile::ShellPolicy,
pub apply_patch_enabled: bool,
pub web_search_enabled: bool,
pub memory_tool_enabled: bool,
pub vision_config: Option<crate::config::VisionModelConfig>,
pub speech_output_dir: Option<PathBuf>,
pub goal_state: Option<SharedGoalState>,
Expand All @@ -510,7 +509,6 @@ impl AgentToolSurfaceOptions {
shell_policy,
apply_patch_enabled: false,
web_search_enabled: false,
memory_tool_enabled: false,
vision_config: None,
speech_output_dir: None,
goal_state: None,
Expand Down Expand Up @@ -897,16 +895,6 @@ impl ToolRegistryBuilder {
self.with_tool(Arc::new(FimEditTool::new(client, model)))
}

/// Include the `remember` tool — model-callable bullet-add into the
/// user memory file (#489). Only register when the user has opted
/// in to the memory feature; without that, the tool would surface
/// in the model's catalog but always fail with "memory disabled".
#[must_use]
pub fn with_remember_tool(self) -> Self {
use super::remember::RememberTool;
self.with_tool(Arc::new(RememberTool))
}

/// Include the slop ledger tools (#2127) — durable tracking of
/// unresolved architectural residue: append, query, update, export.
/// Registered unconditionally; the ledger JSON file is auto-created
Expand Down Expand Up @@ -1062,9 +1050,6 @@ impl ToolRegistryBuilder {
if options.web_search_enabled {
builder = builder.with_web_tools();
}
if options.memory_tool_enabled {
builder = builder.with_remember_tool();
}
if let Some(vision_config) = options.vision_config {
builder = builder.with_vision_tools(vision_config);
}
Expand Down
138 changes: 0 additions & 138 deletions crates/tui/src/tools/remember.rs

This file was deleted.

2 changes: 0 additions & 2 deletions crates/tui/src/tools/subagent/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2817,7 +2817,6 @@ fn enabled_agent_surface_options() -> AgentToolSurfaceOptions {
let mut options = AgentToolSurfaceOptions::new(ShellPolicy::Full);
options.apply_patch_enabled = true;
options.web_search_enabled = true;
options.memory_tool_enabled = true;
options.goal_state = Some(crate::tools::goal::new_shared_goal_state());
options
}
Expand Down Expand Up @@ -2895,7 +2894,6 @@ fn subagent_feature_gates_match_parent_agent_surface() {
"fetch_url",
"web.run",
"wait_for_dev_server",
"remember",
] {
assert!(
!parent_names.contains(name),
Expand Down
Loading