Reconcile git-refs branch with main after rebase · Entire
Reconcile git-refs branch with main after rebase
7816aae→main·
Soph·2w ago·7 files·+23 added/-19 removed
Two integration points shifted on main during the rebase:
syncCheckpointPolicyForPrePush was refactored to a void sync (taking the repo) plus a separate checkpointPolicyAllowsGitHook(ctx, repo) decision. Adapt the git-refs pre-push path to the new two-call shape (open repo → sync → allow-gate) instead of the old bool-returning signature.
main added several tests that use "refs-v1" as the canonical unsupported / future checkpoint_version sentinel. This branch makes refs-v1 a supported read/write format, so those sentinels must move to the next unsupported version, refs-v2: the CLI policy-print, explain-reject, agent-hook-skip, and the checkpointpolicy CanSatisfy / UnsupportedPolicyMessage tests. Also renamed the export test helper rewriteExportCheckpointVersionToRefsV1 → ...ToRefsV2 to match the version it already writes.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Sessions
602319d6087bView transcript
Changes
7
cmd/entire/cli
Mcheckpoint_policy_test.go+2/-2
checkpointpolicy
Mwarning_test.go+6/-6
Mexplain_export_test.go+3/-3
Mexplain_test.go+2/-2
Mhook_registry_test.go+1/-1
Mresume_test.go+1/-1
strategy
Mmanual_commit_push.go+8/-4
func TestCheckpointPolicyCmd_PrintsUnsupportedConfiguredVersion(t *testing.T) {
dir, bareDir := setupCheckpointPolicyRepo(t)
seedCheckpointPolicyForCommand(t, dir, checkpointpolicy.Policy{
CheckpointVersion: "refs-v1",
CheckpointVersion: "refs-v2",
CheckpointMinVersion: "branch-v1",
})
pushCheckpointPolicyRefForCommandTest(t, dir, bareDir)
stdout, err := executeCheckpointPolicyCmd(t)
require.NoError(t, err)
require.Contains(t, stdout, "checkpoint_version: refs-v1 (unsupported)")
require.Contains(t, stdout, "checkpoint_version: refs-v2 (unsupported)")
require.NotContains(t, stdout, "writing branch-v1")
require.Contains(t, stdout, "checkpoint_min_version: branch-v1")
}
...