From 1b9004f88ef416ff1d5db75fd447464c07c1078c Mon Sep 17 00:00:00 2001 From: Sam Valladares Date: Mon, 26 Jan 2026 02:05:06 -0600 Subject: [PATCH] chore(v1.1): move stats tools to CLI, add feedback protocol - Remove get_stats, health_check, run_consolidation from MCP server - These tools now CLI-only: vestige stats, vestige health, vestige consolidate - Add feedback protocol to server instructions (promote/demote guidance) - Update README with CLI Admin Commands section and Feedback Tools table - Update release note: "8 Cognitive Primitives + 3 CLI Admin Commands" Co-Authored-By: Claude Opus 4.5 --- README.md | 13 ++++++++++-- crates/vestige-mcp/src/server.rs | 34 +++++++++----------------------- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 13a7067..7157cba 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ The only MCP memory server built on cognitive science. FSRS-6 spaced repetition, > **Released January 2025** — 11 hours after v1.0 -### Tool Consolidation: 29 → 8 +### Tool Consolidation: 29 → 8 Cognitive Primitives + 3 CLI Admin Commands | Old Tools | New Tool | Why Better | |-----------|----------|------------| | `recall`, `semantic_search`, `hybrid_search` | `search` | Hybrid is always best—no decision needed | @@ -22,7 +22,8 @@ The only MCP memory server built on cognitive science. FSRS-6 spaced repetition, | `remember_pattern`, `remember_decision`, `get_codebase_context` | `codebase` | Unified codebase memory | | 5 separate intention tools | `intention` | Familiar action-based API | -### New CLI Binary +### CLI Admin Commands (Moved from MCP) +Stats and maintenance removed from MCP to minimize context window usage: ```bash vestige stats # Memory statistics vestige stats --tagging # Retention distribution @@ -32,6 +33,14 @@ vestige consolidate # Run memory maintenance vestige restore # Restore from backup ``` +### Feedback Tools (Preference Learning) +| Tool | When to Use | +|------|-------------| +| `promote_memory` | User confirms a memory was helpful | +| `demote_memory` | User corrects a hallucination or says memory was wrong | + +Claude automatically uses these based on user feedback—no permission needed. + ### Documentation - **30+ FAQ entries** with verified neuroscience claims - **Storage modes**: Global, per-project, multi-Claude household diff --git a/crates/vestige-mcp/src/server.rs b/crates/vestige-mcp/src/server.rs index 5197f62..954e590 100644 --- a/crates/vestige-mcp/src/server.rs +++ b/crates/vestige-mcp/src/server.rs @@ -103,8 +103,10 @@ impl McpServer { instructions: Some( "Vestige is your long-term memory system. Use it to remember important information, \ recall past knowledge, and maintain context across sessions. The system uses \ - FSRS-6 spaced repetition to naturally decay memories over time - review important \ - memories to strengthen them.".to_string() + FSRS-6 spaced repetition to naturally decay memories over time. \ + \n\nFeedback Protocol: If the user explicitly confirms a memory was helpful, use \ + promote_memory. If they correct a hallucination or say a memory was wrong, use \ + demote_memory. Do not ask for permission - just act on their feedback.".to_string() ), }; @@ -180,22 +182,8 @@ impl McpServer { description: Some("Mark a memory as reviewed with FSRS rating (1=Again, 2=Hard, 3=Good, 4=Easy). Strengthens retention.".to_string()), input_schema: tools::review::schema(), }, - // Stats and maintenance - ToolDescription { - name: "get_stats".to_string(), - description: Some("Get memory system statistics including total nodes, retention, and embedding status.".to_string()), - input_schema: tools::stats::stats_schema(), - }, - ToolDescription { - name: "health_check".to_string(), - description: Some("Check health status of the memory system.".to_string()), - input_schema: tools::stats::health_schema(), - }, - ToolDescription { - name: "run_consolidation".to_string(), - description: Some("Run memory consolidation cycle. Applies decay, promotes important memories, generates embeddings.".to_string()), - input_schema: tools::consolidate::schema(), - }, + // NOTE: Stats/maintenance tools (get_stats, health_check, run_consolidation) + // moved to CLI-only in v1.1. Use: vestige stats, vestige health, vestige consolidate // Codebase tools (deprecated - use unified 'codebase' tool) ToolDescription { name: "remember_pattern".to_string(), @@ -516,11 +504,9 @@ impl McpServer { } // ================================================================ - // Stats and maintenance (not deprecated) + // Stats and maintenance - REMOVED from MCP in v1.1 + // Use CLI instead: vestige stats, vestige health, vestige consolidate // ================================================================ - "get_stats" => tools::stats::execute_stats(&self.storage).await, - "health_check" => tools::stats::execute_health(&self.storage).await, - "run_consolidation" => tools::consolidate::execute(&self.storage).await, // ================================================================ // Neuroscience tools (not deprecated, except get_memory_state above) @@ -843,9 +829,7 @@ mod tests { assert!(tool_names.contains(&"get_knowledge")); assert!(tool_names.contains(&"delete_knowledge")); assert!(tool_names.contains(&"mark_reviewed")); - assert!(tool_names.contains(&"get_stats")); - assert!(tool_names.contains(&"health_check")); - assert!(tool_names.contains(&"run_consolidation")); + // NOTE: get_stats, health_check, run_consolidation moved to CLI in v1.1 assert!(tool_names.contains(&"set_intention")); assert!(tool_names.contains(&"check_intentions")); assert!(tool_names.contains(&"complete_intention"));