fix(session): persist system prompt to JSONL store #65

Merged
ph merged 1 commit from fix/62-system-prompt-persist into master 2026-06-10 15:40:32 +00:00
Owner

Summary

EnsureSystemPromptRebuildSystemPrompt 只在内存插入 SystemMessage 但不调用 SaveMessage 落盘 JSONL,导致前端加载 session 时缺少 system prompt。

Changes

  • internal/session/session.go: EnsureSystemPrompt prepend 后加 SaveMessage(s.Messages[0], s.currentTurn)
  • internal/session/session.go: RebuildSystemPrompt 两个返回分支各加 SaveMessage(...)

SaveMessage 内部已有 nil-store guard,不影响不带持久化的场景。

Fixes: #62

## Summary `EnsureSystemPrompt` 和 `RebuildSystemPrompt` 只在内存插入 SystemMessage 但不调用 `SaveMessage` 落盘 JSONL,导致前端加载 session 时缺少 system prompt。 ## Changes - `internal/session/session.go`: `EnsureSystemPrompt` prepend 后加 `SaveMessage(s.Messages[0], s.currentTurn)` - `internal/session/session.go`: `RebuildSystemPrompt` 两个返回分支各加 `SaveMessage(...)` `SaveMessage` 内部已有 nil-store guard,不影响不带持久化的场景。 Fixes: #62
EnsureSystemPrompt and RebuildSystemPrompt only inserted SystemMessage
into the in-memory Messages slice but never called SaveMessage to write
it to the JSONL file. This caused the system prompt to be missing when
sessions were loaded from disk (e.g. in the web frontend).

Add SaveMessage calls in both methods so the system prompt is persisted
alongside all other messages.

Fixes: #62
ph force-pushed fix/62-system-prompt-persist from 0c8185d06e to 372867b1ca 2026-06-10 15:40:23 +00:00 Compare
ph merged commit e1cc62f5a0 into master 2026-06-10 15:40:32 +00:00
ph deleted branch fix/62-system-prompt-persist 2026-06-10 15:40:32 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ph/agentic!65
No description provided.