From d11fb8be1217bbd941c3afc5e6bf67a74d093236 Mon Sep 17 00:00:00 2001 From: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Date: Sat, 14 Mar 2026 13:57:16 -0700 Subject: [PATCH] fix(session): pass ctx/user/session_id into async commit memory extraction commit_async() called extract_long_term_memories(messages=...) without passing user, session_id, or ctx. Because the compressor returns early when ctx is None, async commits always produced memories_extracted=0. The sync commit() path already passes all three parameters correctly. This aligns the async path to match. Regression from the COW pattern revert (#584) which dropped these arguments from the async call. Fixes #602 --- openviking/session/session.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openviking/session/session.py b/openviking/session/session.py index 84b8a76e..243069a1 100644 --- a/openviking/session/session.py +++ b/openviking/session/session.py @@ -337,6 +337,9 @@ async def commit_async(self) -> Dict[str, Any]: ) memories = await self._session_compressor.extract_long_term_memories( messages=messages_to_archive, + user=self.user, + session_id=self.session_id, + ctx=self.ctx, ) logger.info(f"Extracted {len(memories)} memories") result["memories_extracted"] = len(memories)