Skip to content

Session persistence and conversation replay on load #782

@bug-ops

Description

@bug-ops

Parent Epic

#778

Problem

No session persistence. load_session only checks in-memory map. IDE cannot resume a previous conversation after agent restart.

Solution

  • Persist conversation history to SQLite (reuse zeph-memory infrastructure)
  • Store per-session: messages, tool calls/results, metadata (model, timestamps)
  • load_session loads from DB and replays as session/update notifications:
    • Text messages → AgentMessageChunk
    • Tool calls → ToolCall (status: Completed/Failed)
    • Tool results → ToolCallUpdate
    • Thinking → AgentThoughtChunk
  • Only replay user_visible messages (skip internal system prompts)

Critical Path

Depends on: Epic 1 (#777) complete
Parallel with: #781 (multi-session)
Blocks: Epics 3-8

Acceptance Criteria

  • Conversation stored to SQLite after each turn
  • load_session replays full history as notifications
  • Session survives agent restart
  • Integration test: create session → prompt → restart → load → verify replay

Metadata

Metadata

Assignees

No one assigned

    Labels

    acpAgent Client Protocol integrationenhancementNew feature or requestsize/L

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions