-
Notifications
You must be signed in to change notification settings - Fork 130
Description
Problem or use case
As a RAG engineer, my typical development workflow involves multiple distinct phases within a single AI session:
- Research Phase - Ask AI to perform web searches and discuss findings
- Exploration Phase - Brainstorm various implementation approaches with AI
- Implementation Trial Phase - Experimental code with multiple iterations
- 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 researchThis 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 privateProposed 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 checkpointKey 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 marksImplementation 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-commitandauto-commitstrategies
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 implementationProblems:
- 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 # implementationProblems:
- 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