Checkpoints V2: allow for a checkpoints_version setting in settings.json#1001
Merged
computermode merged 6 commits intomainfrom Apr 21, 2026
Merged
Checkpoints V2: allow for a checkpoints_version setting in settings.json#1001computermode merged 6 commits intomainfrom
checkpoints_version setting in settings.json#1001computermode merged 6 commits intomainfrom
Conversation
Entire-Checkpoint: 211e2312db3c
Entire-Checkpoint: ef47a62d9759
…t version is set Entire-Checkpoint: cf8e691742de
Entire-Checkpoint: 79ea1361b74a
Contributor
There was a problem hiding this comment.
Pull request overview
Replaces the legacy checkpoints_v2_only setting with a more general strategy_options.checkpoints_version setting (defaulting to v1), while preserving the behavior that selecting version 2 disables v1 writes and enables v2 ref pushing.
Changes:
- Introduces
CheckpointsVersion()parsing (accepting2or"2", falling back to1on invalid values) and updates v2 enablement logic accordingly. - Updates push/condensation/finalization/attach flows to gate v1 writes based on
checkpoints_version == 2. - Renames and updates unit/integration tests to use
checkpoints_version: 2instead ofcheckpoints_v2_only.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| cmd/entire/cli/settings/settings.go | Adds CheckpointsVersion() API and routes v2 enablement through checkpoints_version. |
| cmd/entire/cli/settings/settings_test.go | Adds table-driven coverage for checkpoints_version parsing and updates v2-related tests. |
| cmd/entire/cli/strategy/push_common.go | Updates “committed settings” detection + migration hint to use checkpoints_version == 2. |
| cmd/entire/cli/strategy/push_common_test.go | Renames tests and fixtures to assert the new committed-setting behavior. |
| cmd/entire/cli/strategy/manual_commit_push.go | Gates v1 metadata branch push on CheckpointsVersion() != 2; updates docs. |
| cmd/entire/cli/strategy/manual_commit_hooks.go | Uses checkpoints_version == 2 to disable v1 updates and choose v2 read paths. |
| cmd/entire/cli/strategy/manual_commit_condensation.go | Switches v1/v2 write behavior based on version-2 mode vs dual-write mode. |
| cmd/entire/cli/strategy/checkpoint_remote.go | Skips v1 metadata-branch fetch when checkpoints_version is 2. |
| cmd/entire/cli/integration_test/v2_push_test.go | Updates integration test to use checkpoints_version: 2 and renames branch. |
| cmd/entire/cli/integration_test/v2_dual_write_test.go | Updates integration test to use checkpoints_version: 2 and renames branch. |
| cmd/entire/cli/attach.go | Gates v1 write and v2 error propagation based on checkpoints_version == 2. |
Soph
previously approved these changes
Apr 21, 2026
Entire-Checkpoint: 614e7faf1c5f
Soph
approved these changes
Apr 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://entire.io/gh/entireio/cli/trails/d442cf06fd5f
(Not intended for production use at this time, followup to #970).
Replaces
checkpoints_v2_onlywith acheckpoints_versionsetting. The default for now is "1", though "2" is also supported. Same ascheckpoints_v2_only, when checkpoints_version is set to 2, checkpoints v1 writes are disabled.Allows for
2or"2"as options, but any unsupported version or string value will fall back to version1as the default for now.Note
Medium Risk
Changes checkpoint write/push behavior based on a new numeric
checkpoints_versionsetting, which can disable v1 metadata writes and affect sync/migration flows. Risk is moderate due to touching commit hooks, push logic, and settings parsing (with fallback behavior).Overview
Introduces
strategy_options.checkpoints_version(defaulting to1) as the new switch for checkpoint format selection, replacing the priorcheckpoints_v2_onlyboolean. A value of2disables v1 checkpoint metadata writes/pushes while keeping v2 refs enabled; invalid/unsupported values fall back to1with a one-time stderr warning.Updates attach/condensation/finalization and pre-push paths to key off
CheckpointsVersion()==2for v1 skipping and error propagation semantics, and adjusts migration hinting to detect committedcheckpoints_version: 2. Integration and unit tests are updated/expanded to cover version parsing and the “version 2 skips v1” behavior.Reviewed by Cursor Bugbot for commit c42959d. Configure here.