From c226a340b5cc0dfacd51f66130493f9fe5eb1181 Mon Sep 17 00:00:00 2001 From: William Valentin Date: Wed, 25 Feb 2026 18:06:33 -0800 Subject: [PATCH] test(memory): cover getSystemPrompt session context --- src/backends/native/orchestrator.test.ts | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/backends/native/orchestrator.test.ts b/src/backends/native/orchestrator.test.ts index d657d28..3c2eeb8 100644 --- a/src/backends/native/orchestrator.test.ts +++ b/src/backends/native/orchestrator.test.ts @@ -608,6 +608,39 @@ describe('AgentOrchestrator', () => { rmSync(tempDir, { recursive: true, force: true }); }); + + it('injects session context via getSystemPrompt() before process()', () => { + const tempDir = mkdtempSync(join(tmpdir(), 'flynn-orchestrator-session-context-prompt-')); + const memoryStore = new MemoryStore({ dir: tempDir, maxContextTokens: 2000 }); + memoryStore.write('user/profile', 'Name: Will', 'replace'); + writeWorkingMemory(memoryStore, 'user/working', 'Recent task: build feature X', 14, 1000); + + const orchestrator = new AgentOrchestrator({ + modelRouter: mockRouter, + systemPrompt: 'You are a helpful agent.', + primaryTier: 'default', + delegation: { + compaction: 'fast', + memory_extraction: 'default', + classification: 'complex', + tool_summarisation: 'default', + complex_reasoning: 'complex', + }, + maxDelegationDepth: 10, + memoryStore, + userNamespace: 'user', + workingMemoryTtlDays: 14, + workingMemoryMaxTokens: 1000, + }); + + const prompt = orchestrator.getSystemPrompt('Hello'); + expect(prompt).toContain('--- Who you\'re talking to ---'); + expect(prompt).toContain('Name: Will'); + expect(prompt).toContain('--- Recent context ---'); + expect(prompt).toContain('Recent task: build feature X'); + + rmSync(tempDir, { recursive: true, force: true }); + }); }); describe('compact()', () => {