entireio / entireio/cli

Selective checkpoint marking within a single session

Open
#296 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
5.1k
Forks
475
Avg merge
1d 11h
Merged PRs (30d)
178

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the CLI entry point for entire mark and the session/checkpoint handling used by the manual-commit and auto-commit strategies. Read how message ranges and file-free checkpoints are currently represented, then identify the existing tests for session recording. Done means marks can be listed, removed, previewed, and committed selectively without changing unmarked-session behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, go
Domain
cli, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.