Skip to content

feat: add checkpoint_remote config for separate checkpoint push#670

Open
mvanhorn wants to merge 1 commit intoentireio:mainfrom
mvanhorn:osc/666-feat-checkpoint-remote
Open

feat: add checkpoint_remote config for separate checkpoint push#670
mvanhorn wants to merge 1 commit intoentireio:mainfrom
mvanhorn:osc/666-feat-checkpoint-remote

Conversation

@mvanhorn
Copy link
Contributor

Summary

Fixes #666

Adds a checkpoint_remote configuration option that lets users push the entire/checkpoints/v1 branch to a separate remote instead of the default push remote. This is useful for:

  • Public repos where session data should remain private
  • Enterprise teams wanting checkpoints in an internal repo
  • Any workflow where checkpoint data needs different push routing

Changes

  • cmd/entire/cli/settings/settings.go - Added GetCheckpointRemote() method
  • cmd/entire/cli/strategy/push_common.go - Added resolveCheckpointRemote() with remote existence validation and fallback
  • cmd/entire/cli/strategy/manual_commit_push.go - Modified PrePush to use configured checkpoint remote
  • cmd/entire/cli/setup.go - Added --checkpoint-remote flag to entire enable
  • Tests for settings parsing and push routing

Usage

// .entire/settings.json
{
  "strategy_options": {
    "checkpoint_remote": "entire-private"
  }
}

Or via CLI: entire enable --agent claude-code --checkpoint-remote entire-private

The configured remote must already exist (git remote add entire-private <url>). If the remote doesn't exist, falls back to the default remote with a warning log.

Complements the existing push_sessions: false option mentioned by @Soph in the issue thread.

Test plan

  • Settings parsing tests (7 cases)
  • Remote existence check tests
  • gofmt and go vet clean

This contribution was developed with AI assistance (Claude Code).

When working on public repos, checkpoint branches expose session
transcripts to origin. This adds a checkpoint_remote setting in
strategy_options that redirects checkpoint and trails branch pushes
to a separate (private) remote. Falls back to the default push remote
with a warning if the configured remote doesn't exist in git config.

Closes entireio#666

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Support configurable remote for checkpoint branch push

1 participant