Class: ClaudeMemory::Commands::Checks::EmbeddingsCheck
- Inherits:
-
Object
- Object
- ClaudeMemory::Commands::Checks::EmbeddingsCheck
- Defined in:
- lib/claude_memory/commands/checks/embeddings_check.rb
Overview
Surfaces the active embedding provider, model, and dimension alignment between provider and stored vectors.
Doctor previously had VecCheck (sqlite-vec extension + index coverage) but no signal about which provider was actually in use —so a user could see “sqlite-vec available ✓” while silently running on tfidf default when fastembed was loadable. This check closes that visibility gap and points users at ‘claude-memory setup-vectors` to opt into fastembed.
Constant Summary collapse
- FASTEMBED_HINT =
"Set CLAUDE_MEMORY_EMBEDDING_PROVIDER=fastembed for higher-quality semantic recall (fastembed is loadable on this system). " \ "Run 'claude-memory setup-vectors' to configure."
- FASTEMBED_INSTALL_HINT =
"fastembed is not installed; semantic recall is using tfidf (lower quality). " \ "Run 'claude-memory setup-vectors' to install fastembed and switch."
Instance Method Summary collapse
Instance Method Details
#call ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/claude_memory/commands/checks/embeddings_check.rb', line 22 def call provider = Embeddings.resolve provider_name = provider.name warnings = [] # Hint when user is on default tfidf — different message # depending on whether fastembed is even loadable. if provider_name == "tfidf" warnings << ( ? FASTEMBED_HINT : FASTEMBED_INSTALL_HINT) end dim_mismatches = check_dimension_alignment(provider) warnings.concat(dim_mismatches) { status: warnings.any? ? :warning : :ok, label: "embeddings", message: "Embedding provider: #{provider_name}, dimensions: #{provider.dimensions}", details: { provider: provider_name, dimensions: provider.dimensions, fastembed_loadable: }, warnings: warnings } rescue => e { status: :warning, label: "embeddings", message: "Embedding provider check failed: #{e.}", details: {}, warnings: [] } end |