structured memory: facts/pinned/episodes, batched consolidation, participant-scoped recall

This commit is contained in:
Oleksandr Kozachuk
2026-07-13 14:12:21 +02:00
parent 02c989946b
commit 3d2289496b
14 changed files with 608 additions and 90 deletions
+2 -10
View File
@@ -40,17 +40,9 @@ class TestReactionClear(TestBotBase):
message.content = "Some message text"
message.author.name = "alice"
message.channel = MagicMock(spec=TextChannel)
self.bot.airesponder.memoize = AsyncMock()
self.bot.airesponder.observe_event = AsyncMock()
await self.bot.on_reaction_clear(message, [Mock()])
self.bot.airesponder.memoize.assert_awaited_once()
class TestUpdateMemory(unittest.TestCase):
def test_update_memory_uses_argument(self):
"""ENV-14: update_memory persists the passed value, not stale state (D12)."""
responder = AIResponder({"system": "s", "history-limit": 5}, "chat")
responder.update_memory("NEW MEMORY")
self.assertEqual(responder.memory, "NEW MEMORY")
self.bot.airesponder.observe_event.assert_awaited_once()
class TestRetryModel(unittest.IsolatedAsyncioTestCase):