# mirror metadata refs after DeleteOrphanedCheckpoints

`e1e89db`→[main](/content/gh/entireio/cli/commits/main/index.html)·

pfleidi·1mo ago·2 files·+26 added/-0 removed

DeleteOrphanedCheckpoints commits a cleanup tree on entire/checkpoints/v1
and advances the local branch, but did not update the v1.1 custom ref.
In v1.1 mode the mirror still pointed at the pre-cleanup tip, so every
NewCommittedReadStore consumer (list/status/explain/dispatch) kept
surfacing the just-deleted checkpoints until another v1 write happened
to mirror.

Mirror after the SetReference, gated by checkpoints_version through
MirrorCommittedMetadataRefBestEffort.

## Sessions

7c38d2aad996View transcript

## Changes

2

- cmd/entire/cli/strategy

- Mcleanup.go+1

- Mv1_custom_ref_mirror_test.go+25

```
332 unmodified lines

333
334
335
336
337
338
339

332 unmodified lines

if err := repo.Storer.SetReference(newRef); err != nil {
		return nil, nil, fmt.Errorf("failed to update branch: %w", err)
	}
	MirrorCommittedMetadataRefBestEffort(ctx, repo)

// All checkpoints deleted successfully
	return checkpointIDs, []string{}, nil
```

Mcmd/entire/cli/strategy/cleanup.go+1

```
226 unmodified lines

227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257

226 unmodified lines

assert.Equal(t, v1Hash, got)
}

// Not parallel: uses t.Chdir().
func TestDeleteOrphanedCheckpoints_MirrorsV1CustomRefWhenEnabled(t *testing.T) {
	dir := setupGitRepo(t)
	 t.Chdir(dir)
	enableV1CustomRefMirror(t, dir)

repo, err := git.PlainOpen(dir)
	require.NoError(t, err)
	setV1MetadataBranch(t, repo)
v1HashBefore := v1MetadataBranchHash(t, repo)

cpID := id.MustCheckpointID("aabbccdd1122")
	deleted, failed, err := DeleteOrphanedCheckpoints(t.Context(), []string{cpID.String()})
	require.NoError(t, err)
	require.Empty(t, failed)
	require.Equal(t, []string{cpID.String()}, deleted)

v1HashAfter := v1MetadataBranchHash(t, repo)
	require.NotEqual(t, v1HashBefore, v1HashAfter, "cleanup must advance v1 with a new commit")

mirrorHash, ok := v1CustomRefHash(t, repo)
	require.True(t, ok, "expected %s to exist", paths.MetadataRefName)
	assert.Equal(t, v1HashAfter, mirrorHash, "v1.1 mirror should track v1 after DeleteOrphanedCheckpoints")
}

// Not parallel: uses t.Chdir().
func TestFinalizeAllTurnCheckpoints_MirrorsV1CustomRefWhenEnabled(t *testing.T) {
	dir := setupGitRepo(t)
