Skip to content

Add conversation-forking implementation plan - #503

Merged
sysread merged 1 commit into
mainfrom
claude/conversation-forking-8ntvpq
Aug 19, 2026
Merged

Add conversation-forking implementation plan#503
sysread merged 1 commit into
mainfrom
claude/conversation-forking-8ntvpq

Conversation

@sysread

@sysread sysread commented Aug 19, 2026

Copy link
Copy Markdown
Owner

SYNOPSIS

Planning doc only - no code. Adds docs/dev/in-progress/conversation-forking.md, the implementation plan for git-style conversation forking.

PURPOSE

Conversations are strictly linear today; exploring an alternate direction means destructive delete-from-here or copy-paste. The plan introduces forking with structural sharing: threads own message segments, a conversation is a root-to-node path, destructive edits inside shared history become forks, and a GC sweep reclaims unreachable rows.

DESCRIPTION

  • design: explicit per-thread message positions (replaces created_at ordering + its two timestamp forgeries), three thread columns (parent, fork point, hidden), one transcript resolver, per-worker fork treatment (cursor seeding vs full-transcript framing), fork-on-edit w/ hide-and-replace UX
  • ordering: M0 QA baselines first, then three zero-behavior-change structural milestones (positions, resolver, hidden+GC), then features (fork primitive + drawer, per-message fork, edit-forks)
  • reviewers: the reference-graph audit section explains why GC-time destruction is safe under the existing cascade / set-null / soft-pointer policies

Generated by Claude Code

Plan for git-style conversation forking with structural sharing:
threads own message segments, a conversation is a root-to-node
path, edits inside shared history fork instead of deleting, and a
GC sweep reclaims unreachable rows. Ordered so the structural
refactors (explicit message positions, the transcript resolver,
hidden threads + GC) land first with zero observable change, each
verified against QA baselines captured before any code moves.
@sysread
sysread merged commit a9ac743 into main Aug 19, 2026
1 check passed
@sysread
sysread deleted the claude/conversation-forking-8ntvpq branch August 19, 2026 20:49
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