Class: ClaudeMemory::Embeddings::DimensionCheck

Inherits:
Object
  • Object
show all
Defined in:
lib/claude_memory/embeddings/dimension_check.rb

Overview

Value object that detects embedding dimension mismatches. Returns a Result so the caller decides how to handle mismatches —no hidden side effects like dropping tables.

Defined Under Namespace

Classes: Result

Class Method Summary collapse

Class Method Details

.call(store, provider) ⇒ Result

Returns status is :fresh, :match, or :mismatch.

Parameters:

  • store (Store::SQLiteStore)

    database to check meta against

  • provider (#dimensions)

    embedding provider

Returns:

  • (Result)

    status is :fresh, :match, or :mismatch



14
15
16
17
18
19
20
# File 'lib/claude_memory/embeddings/dimension_check.rb', line 14

def self.call(store, provider)
  stored = store.get_meta("embedding_dimensions")&.to_i
  return Result.new(status: :fresh, stored: nil, current: provider.dimensions) unless stored
  return Result.new(status: :match, stored: stored, current: provider.dimensions) if stored == provider.dimensions

  Result.new(status: :mismatch, stored: stored, current: provider.dimensions)
end