Skip to content

Support configurable remote for checkpoint branch push #666

@cptkoolbeenz

Description

@cptkoolbeenz

Problem or use case

When working on public or shared repositories, the entire/checkpoints/v1 branch is automatically pushed alongside code on git push. This branch contains full session transcripts, prompts, token usage, and tool calls — data that teams may want to keep private even when the code itself is public.

GitHub does not support per-branch visibility — all branches in a repo are visible to anyone with repo access. There is currently no way to use Entire on a public repo without exposing session data to all collaborators/viewers.

Related: #645 (stealth mode) covers the broader case of hiding all Entire traces. This issue is specifically about allowing checkpoint data to be pushed to a separate private repo.

Desired behavior

# Configure a separate remote for checkpoint pushes
entire config set checkpoint_remote entire-private

# Or via config file (.entire/settings.json)
# { "checkpoint_remote": "entire-private" }

# Normal workflow — code pushes to origin, checkpoints push to entire-private
git push origin main
# → entire/checkpoints/v1 is pushed to entire-private instead of origin

Optionally, also support disabling checkpoint push entirely:

entire config set push_checkpoints false

Proposed solution

Add a configuration option (checkpoint_remote) that specifies an alternate Git remote for pushing the entire/checkpoints/v1 branch.

Behavior:

  • When set, Entire pushes entire/checkpoints/v1 to the configured remote instead of origin
  • When unset, current behavior is preserved (push to origin)
  • The configured remote must already exist (user runs git remote add <name> <url> beforehand)
  • A secondary option push_checkpoints: false could disable checkpoint push entirely for local-only usage

Use cases:

  • Public repos where session data should remain private
  • Enterprise teams wanting checkpoints in an internal repo while code lives in a client-facing repo
  • Developers who want local-only checkpoints without remote backup

Alternatives or workarounds

Current workaround using Git refspec config:

# Block entire branches from pushing to origin
git config --add remote.origin.push 'refs/heads/*:refs/heads/*'
git config --add remote.origin.push '!refs/heads/entire/*'

# Add a separate remote for checkpoint data
git remote add entire-private git@github.com:user/private-checkpoints.git
git push entire-private entire/checkpoints/v1

This works but is fragile, not discoverable, and easy to misconfigure. A first-class config option would be more reliable and user-friendly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions