From 71879695b951dd30bbd6cbd25261e22ac7f8e5d1 Mon Sep 17 00:00:00 2001 From: batsumaru <> Date: Wed, 16 Sep 2026 17:33:42 +0900 Subject: Added more memory management and fixed system prompt bug --- tests/test_memory_store.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) (limited to 'tests/test_memory_store.py') diff --git a/tests/test_memory_store.py b/tests/test_memory_store.py index 8f3407d..b83d217 100644 --- a/tests/test_memory_store.py +++ b/tests/test_memory_store.py @@ -211,3 +211,62 @@ def test_search_respects_limit(tmp_path): store.add(memory) assert store.search("programming", limit=2) == memories[:2] + + +def test_search_uses_fts(tmp_path): + database = Database(tmp_path / "agent.db") + database.migrate() + store = LongTermMemoryStore(database) + + memory = LongTermMemory.create( + "User prefers Rust for systems programming.", + MemoryCategory.SEMANTIC, + ) + store.add(memory) + + results = store.search("preferred systems programming language") + + assert [result.id for result in results] == [memory.id] + + +def test_delete_removes_memory_from_search(tmp_path): + database = Database(tmp_path / "agent.db") + database.migrate() + store = LongTermMemoryStore(database) + + memory = LongTermMemory.create( + "User prefers Rust for systems programming.", + MemoryCategory.SEMANTIC, + ) + store.add(memory) + + assert store.search("Rust") + + store.delete(memory.id) + + assert store.search("Rust") == [] + + +def test_search_filters_by_category(tmp_path): + database = Database(tmp_path / "agent.db") + database.migrate() + store = LongTermMemoryStore(database) + + semantic = LongTermMemory.create( + "User prefers Rust.", + MemoryCategory.SEMANTIC, + ) + episodic = LongTermMemory.create( + "User used Rust on a filesystem project.", + MemoryCategory.EPISODIC, + ) + + store.add(semantic) + store.add(episodic) + + results = store.search( + "Rust", + category=MemoryCategory.EPISODIC, + ) + + assert [result.id for result in results] == [episodic.id] -- cgit v1.3