- Route ingest tool through smart_ingest (Prediction Error Gating) to
prevent duplicate memories when content is similar to existing entries
- Fix Intel Mac release build: use macos-13 runner for x86_64-apple-darwin
(macos-latest is now ARM64, causing silent cross-compile failures)
- Sync npm package version to 1.1.2 (was 1.0.0 in package.json, 1.1.0
in postinstall.js BINARY_VERSION)
- Add vestige-restore to npm makeExecutable list
- Remove abandoned packages/core/ TypeScript package (pre-Rust implementation
referencing FSRS-5, chromadb, ollama — 32K lines of dead code)
- Sync workspace Cargo.toml version to 1.1.2
Closes#5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add #![allow(dead_code)] to deprecated tool modules (kept for
backwards compatibility but not exposed in MCP tool list)
- Mark unused functions with #[allow(dead_code)] annotations
- Fix unused variable warnings (prefix with _)
- Apply clippy auto-fixes for redundant closures and derives
- Fix test to account for protocol version negotiation
- Reorganize tools/mod.rs to clarify active vs deprecated tools
Security review: LOW RISK - no critical vulnerabilities found
Dead code review: deprecated tools properly annotated
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix silent errors in stdio.rs: clients now receive fallback error
responses instead of hanging when JSON serialization fails
- Fix UTF-8 panics in keyword.rs: use char-aware slicing instead of
byte offsets for query sanitization and term highlighting
- Fix UTF-8 panics in prospective_memory.rs: replace hard-coded byte
offsets with char-aware slicing for natural language parsing
- Fix UTF-8 panics in git.rs: convert byte positions to char positions
before slicing commit messages
- Fix feature flag bug in vestige-mcp: add proper [features] section
to forward embeddings and vector-search features from vestige-core,
enabling the #[cfg(feature = "embeddings")] initialization code
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When embeddings fail to initialize in the MCP server context (e.g., due
to working directory issues), the error was silently swallowed and
smart_ingest would fall back to regular ingest without explanation.
Changes:
- Add init_embeddings() method to Storage for explicit initialization
- Initialize embeddings at MCP server startup with error logging
- Add check_ready() method to EmbeddingService for error access
- Log warning when is_ready() returns false
Now users will see clear error messages like:
"Failed to initialize embedding service: ..."
"Hint: Check FASTEMBED_CACHE_PATH or ensure ~/.fastembed_cache exists"
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Claude Desktop requests protocol version 2025-06-18 but Vestige was
responding with 2025-11-25, causing Claude Desktop to disconnect.
Now the server negotiates: if the client requests an older version,
use it. This maintains backward compatibility with older clients.
Fixes: Claude Desktop "Server transport closed unexpectedly" error
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Users were seeing 30 tools in /mcp which was overwhelming. Now only 8
essential tools are listed:
1. search - unified hybrid search
2. memory - get/delete/state operations
3. codebase - patterns and decisions
4. intention - prospective memory
5. ingest - add memories
6. smart_ingest - intelligent ingestion
7. promote_memory - thumbs up
8. demote_memory - thumbs down
Deprecated tools (recall, semantic_search, etc.) still work internally
for backward compatibility but are no longer listed.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
FSRS-6 spaced repetition, spreading activation, synaptic tagging,
hippocampal indexing, and 130 years of memory research.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>