You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Consolidation delimiter fragility** — `internal/memory/memory.go`: switched from primitive " § " string-split parsing to JSON array format for consolidation output. Facts containing " § " as natural text no longer corrupt the entry set on consolidation.
7
+
8
+
### Performance
9
+
-**Episode rank query cache** — `internal/memory/episodes.go`: added single-entry query cache to `EpisodeStore.Search`. Consecutive identical user messages no longer re-rank episodes via LLM, saving ~1 LLM call per turn on repeated queries.
10
+
11
+
### Testing
12
+
-`TestConsolidate_JSONDelimiter` — verifies JSON array parsing works
prompt:=fmt.Sprintf(`Consolidate the following memory entries into a concise set of facts. Merge related entries, remove redundancy. Output each entry on a separate line, separated by the delimiter " § ".
337
+
prompt:=fmt.Sprintf(`Consolidate the following memory entries into a concise set of facts. Merge related entries, remove redundancy. Output as a JSON array of strings, for example: ["fact one", "fact two", "fact three"]
"You are a memory consolidation system. Merge related entries into concise facts. Output only the merged entries separated by ' § '. Never more than the original count of entries.",
343
+
"You are a memory consolidation system. Merge related entries into concise facts. Output as a JSON array of strings. Never more than the original count of entries.",
"Extract 1-3 concise, durable facts from this conversation that the agent should remember for future sessions. Output as plain text, one fact per line. Skip task-specific details (PR numbers, commit SHAs, file paths). Focus on user preferences, tool quirks, project rules, and environment details.",
0 commit comments