Skip to content

docs: chat sessions design (save every chat, resume any chat) - #60

Closed
ndemianc wants to merge 1 commit into
developfrom
docs/chat-sessions-design
Closed

docs: chat sessions design (save every chat, resume any chat)#60
ndemianc wants to merge 1 commit into
developfrom
docs/chat-sessions-design

Conversation

@ndemianc

Copy link
Copy Markdown
Contributor

Design for chat sessions: every chat autosaved locally as append-only JSONL under ~/.levelcode/sessions//, History UI, three-tier resume that reuses compactAgentMemory (summarize to FIT the context window, never to store), cheap-lane auto titles. Grounded in prior art: adopts Claude Code's plain-JSONL/project-slug model, avoids Copilot's workspace-hash + load-bearing-index failure modes (vscode#285059/#301793/#305818) and Cursor's opaque SQLite. Four phases with exit tests.

Copilot AI review requested due to automatic review settings July 29, 2026 01:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a proposed design document for persistent chat sessions in extensions/levelcode-ai, aiming to make chats autosaved, discoverable via History, and resumable (including long sessions via compaction-on-resume), using an append-only JSONL storage format under ~/.levelcode/sessions/<project-slug>/.

Changes:

  • Introduces a sessions persistence design based on per-session JSONL event logs and a rebuildable per-project index.
  • Specifies a three-tier resume strategy that reuses existing compactAgentMemory() logic only when needed to fit context limits.
  • Outlines UI/commands/settings plus phased implementation and test/exit criteria.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +129 to +131
- **Append-only.** One `fs.appendFile` per turn (debounced 500ms), fsync'd. Never
rewrite the file except `compact` events, which are *also appended* — a compaction
is an event in the history, not a rewrite of it.
@ndemianc ndemianc closed this Jul 29, 2026
@ndemianc
ndemianc deleted the docs/chat-sessions-design branch July 29, 2026 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants