fix: store current_message in session to preserve time prefix for cache hits

session.add_message was storing raw msg.content without the [Current time: ...]
prefix, causing cache key mismatches on subsequent turns since the API received
the prefixed version but history replayed the raw version.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-28 20:46:33 +00:00
co-authored by Claude Sonnet 4.5
parent 99802a211c
commit bc1b1cd61d
+3 -1
View File
@@ -393,7 +393,9 @@ class AgentLoop:
logger.info(f"Response to {msg.channel}:{msg.sender_id}: {preview}")
# Save to session (include tool names so consolidation sees what happened)
session.add_message("user", msg.content)
# Store current_message (not msg.content) so the time prefix is preserved
# and cache keys match on subsequent turns
session.add_message("user", current_message)
session.add_message("assistant", final_content,
tools_used=tools_used if tools_used else None)
self.sessions.save(session)