(turns int)
| 180 | func TestSessionMemorySkipsTransientMessages(t *testing.T) { |
| 181 | cfg := sessionMemoryTestConfig(t) |
| 182 | cfg.SessionMemoryTurnInterval = 1 |
| 183 | store, err := sessionmemory.Open(context.Background(), cfg, "sess", fakeSummary("transient")) |
| 184 | if err != nil { |
| 185 | t.Fatal(err) |
| 186 | } |
| 187 | defer store.Close() |
| 188 | messages := append([]map[string]any{ |
| 189 | {"role": "user", "content": []map[string]any{{"type": "text", "text": "long-term memory recall"}}, "metadata": map[string]any{"source": "memory_recall", "lumina_memory_context": true}}, |
| 190 | {"role": "user", "content": []map[string]any{{"type": "text", "text": "[Compaction handoff summary]\nold"}}}, |
| 191 | }, sessionMemoryMessages(1)...) |
| 192 | if err := store.IngestMessages(context.Background(), messages); err != nil { |
| 193 | t.Fatal(err) |
| 194 | } |
| 195 | if err := store.MaybeCommit(context.Background(), false); err != nil { |
| 196 | t.Fatal(err) |
| 197 | } |
| 198 | detail, err := store.GetCommit(context.Background(), 1, true) |
| 199 | if err != nil { |
| 200 | t.Fatal(err) |
| 201 | } |
| 202 | for _, msg := range detail.Messages { |
| 203 | if strings.Contains(msg.TextPreview, "long-term memory recall") || strings.Contains(msg.TextPreview, "handoff") { |
| 204 | t.Fatalf("transient/compaction message leaked into session memory: %#v", detail.Messages) |
no outgoing calls
no test coverage detected