Skip to content

Selective checkpoint marking within a single session #296

@akihirookuda95

Description

@akihirookuda95

Problem or use case

As a RAG engineer, my typical development workflow involves multiple distinct phases within a single AI session:

  1. Research Phase - Ask AI to perform web searches and discuss findings
  2. Exploration Phase - Brainstorm various implementation approaches with AI
  3. Implementation Trial Phase - Experimental code with multiple iterations
  4. Validation Phase - Discuss validation results and document decisions

I want to record phases 1 and 4 (research and validation) to share with my team, but NOT phases 2 and 3 (exploration and trials), which are personal experimentation.

Current Problems

Problem 1: Cannot selectively record within a session

With the manual-commit strategy, the entire session is recorded as a single unit when I commit. This means I cannot record just the research discussions - all my exploratory brainstorming and trial-and-error implementations are also saved, which clutters the checkpoint and isn't useful for team sharing.

Problem 2: Research without file changes cannot create checkpoints

When I ask AI to perform web searches and discuss findings, often NO FILES ARE MODIFIED. This creates a fundamental issue:

git status
# nothing to commit, working tree clean

git commit -m "docs: Research on RAG evaluation metrics"
# ERROR: No files to commit
# Result: CANNOT CREATE CHECKPOINT even though this was valuable research

This forces me to either:

  • Ask AI to write every research result to a Markdown file (adds overhead)
  • Create dummy files just to enable commits (feels like a hack)
  • Enable/disable Entire between phases (breaks the continuous flow and requires session restarts)

Real-world Example

I start a single Claude session and work through all four phases above. When I commit my work, the checkpoint includes ALL phases - the valuable research AND the messy trial-and-error. I cannot share just the research findings with my team without also exposing all my experimental work.

Desired behavior

I want to be able to:

1. **Work in a single continuous AI session** across multiple phases (research → exploration → implementation → validation)

2. **Manually mark specific moments** during the session that should be recorded as checkpoints, like:
   - "Research completed - mark this"
   - "Validation results - mark this"
   - Leave exploration and trials unmarked (not recorded)

3. **Create checkpoints even when no files have been modified** (for research-only discussions)

4. **When I commit, only the marked portions** of the session should be saved to the checkpoint

5. **Share only the valuable, marked portions** with my team while keeping exploratory work private

Proposed solution

Add an entire mark command that allows manual checkpoint marking within an active session.

Usage Example

claude  # Start session

# Phase 1: Research
> "Research Cohere Reranker optimization techniques"
# (AI performs web search, we discuss)

entire mark "research-completed" --description "Cohere Reranker research findings"
# ✅ Marks this point for recording, works even without file changes

# Phase 2: Exploration (no mark)
> "Let's explore different implementation approaches"
# (long discussion - NOT MARKED, won't be recorded)

# Phase 3: Trial implementation (no mark)
> "Try implementing approach A"
# (trial and error - NOT MARKED, won't be recorded)

# Phase 4: Validation
> "Validate the implementation with test data"
# (discuss results)

entire mark "validation-results" --description "Performance validation"
# ✅ Marks this point for recording

git commit -m "feat: Optimize Cohere Reranker parameters"
# Result: Only marked portions saved to checkpoint

Key Features

  • Works while AI session is active (no need to exit/restart)
  • Works regardless of file modifications (decoupled from git commit)
  • Only marked portions saved to checkpoint
  • Maintains conversational flow

Additional Commands

entire marks list              # List all marks in current session
entire marks remove <mark-id>  # Remove a mark before committing
entire marks preview           # View what will be recorded
entire status                  # Shows current session and marks

Implementation Considerations

  • Marks should reference message ranges in the session transcript
  • Checkpoint should contain only the marked conversation portions
  • Backward compatible: unmarked sessions work as before
  • Works with both manual-commit and auto-commit strategies

Alternatives or workarounds

I've tried these workarounds, but they're all unsatisfactory:

Alternative 1: Split into multiple sessions

Run separate Claude sessions for research and implementation:

claude --session research     # for research only
claude --session implement    # for implementation

Problems:

  • Loses conversational continuity
  • Research insights don't carry over naturally
  • Context switching overhead
  • Cannot maintain flow of thought

Alternative 2: Enable/disable toggling

Turn Entire on for research, off for implementation:

entire enable    # research
entire disable   # implementation

Problems:

  • Requires stopping and restarting Claude sessions
  • Fundamentally incompatible with single continuous session
  • Breaks natural workflow

Alternative 3: Force file creation for research

Ask AI to always write research to Markdown files:

> "Research X and write findings to docs/research.md"

Problems:

  • Adds overhead to every research task
  • Creates unnecessary files in repository
  • Sometimes I just want to discuss, not document

Alternative 4: Create dummy files

Add meaningless files just to enable commits

Problems:

  • Pollutes repository
  • Feels like a hack
  • Not a real solution

Alternative 5: push_sessions=false

Set push_sessions to false in configuration

Problems:

  • Everything still recorded locally (no selectivity)
  • Cannot push specific checkpoints to team
  • All-or-nothing when sharing

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions