Class: Llmemory::LongTerm::Procedural::Storages::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/llmemory/long_term/procedural/storages/base.rb

Overview

Storage contract for procedural memory (skill library). Implementations persist Skill hashes, support keyword search and name lookup (for versioning), and record success/failure outcomes.

Direct Known Subclasses

FileStorage, MemoryStorage

Instance Method Summary collapse

Instance Method Details

#count_skills(user_id) ⇒ Object

Raises:

  • (NotImplementedError)


37
38
39
# File 'lib/llmemory/long_term/procedural/storages/base.rb', line 37

def count_skills(user_id)
  raise NotImplementedError, "#{self.class}#count_skills must be implemented"
end

#delete_skills(user_id, ids) ⇒ Object

Deletes skills by id. Returns the number actually removed.

Raises:

  • (NotImplementedError)


42
43
44
# File 'lib/llmemory/long_term/procedural/storages/base.rb', line 42

def delete_skills(user_id, ids)
  raise NotImplementedError, "#{self.class}#delete_skills must be implemented"
end

#find_skills_by_name(user_id, name) ⇒ Object

Raises:

  • (NotImplementedError)


27
28
29
# File 'lib/llmemory/long_term/procedural/storages/base.rb', line 27

def find_skills_by_name(user_id, name)
  raise NotImplementedError, "#{self.class}#find_skills_by_name must be implemented"
end

#get_skill(user_id, id) ⇒ Object

Raises:

  • (NotImplementedError)


15
16
17
# File 'lib/llmemory/long_term/procedural/storages/base.rb', line 15

def get_skill(user_id, id)
  raise NotImplementedError, "#{self.class}#get_skill must be implemented"
end

#list_skills(user_id, limit: nil) ⇒ Object

Raises:

  • (NotImplementedError)


19
20
21
# File 'lib/llmemory/long_term/procedural/storages/base.rb', line 19

def list_skills(user_id, limit: nil)
  raise NotImplementedError, "#{self.class}#list_skills must be implemented"
end

#list_usersObject

Raises:

  • (NotImplementedError)


46
47
48
# File 'lib/llmemory/long_term/procedural/storages/base.rb', line 46

def list_users
  raise NotImplementedError, "#{self.class}#list_users must be implemented"
end

#record_outcome(user_id, skill_id, success:) ⇒ Object

Increments the success or failure count of a skill and returns the updated skill hash (or nil if not found).

Raises:

  • (NotImplementedError)


33
34
35
# File 'lib/llmemory/long_term/procedural/storages/base.rb', line 33

def record_outcome(user_id, skill_id, success:)
  raise NotImplementedError, "#{self.class}#record_outcome must be implemented"
end

#save_skill(user_id, skill) ⇒ Object

Raises:

  • (NotImplementedError)


11
12
13
# File 'lib/llmemory/long_term/procedural/storages/base.rb', line 11

def save_skill(user_id, skill)
  raise NotImplementedError, "#{self.class}#save_skill must be implemented"
end

#search_skills(user_id, query) ⇒ Object

Raises:

  • (NotImplementedError)


23
24
25
# File 'lib/llmemory/long_term/procedural/storages/base.rb', line 23

def search_skills(user_id, query)
  raise NotImplementedError, "#{self.class}#search_skills must be implemented"
end