# checkpoint: align contract terminology to persistent

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

Soph·3w ago·2 files·+4 added/-4 removed

Address Copilot review on #1504: the verbatim-moved WriteOptions/UpdateOptions
doc comments still said 'committed checkpoint' (the store concept) — reword to
'persistent checkpoint' to match the rest of the api/checkpoint contract. Rename
the ReadCheckpoint tests (TestReadCommittedCheckpoint* -> TestReadCheckpoint*)
to match the renamed function.

References to the git 'committed tree' and the TotalCommitted/total_committed
attribution field are left as-is — those correctly describe git commits, not the
store.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

## Changes

2

- api/checkpoint

- Mmetadata.go+2/-2

- cmd/entire/cli/checkpoint

- Mpersistent_reader_test.go+2/-2

```
10 unmodified lines

11
12
13
14
14
15
16
17
149 unmodified lines

167
168
169
170
170
171
172
173

10 unmodified lines

"github.com/go-git/go-git/v6/plumbing"

// WriteOptions contains options for writing a committed checkpoint.
// WriteOptions contains options for writing a persistent checkpoint.
type WriteOptions struct {
	// CheckpointID is the stable 12-hex-char identifier
	CheckpointID id.CheckpointID
149 unmodified lines

HasInvestigation bool
}

// UpdateOptions contains options for updating an existing committed checkpoint.
// UpdateOptions contains options for updating an existing persistent checkpoint.
// Uses replace semantics: the transcript and prompts are fully replaced,
// not appended. At stop time we have the complete session transcript and want every
// checkpoint to contain it identically.
```

Mapi/checkpoint/metadata.go+2/-2

```
11 unmodified lines

12
13
14
15
15
16
17
18
2 unmodified lines

21
22
23
24
24
25
26
27

11 unmodified lines

"github.com/stretchr/testify/require"
)

func TestReadCommittedCheckpointNormalizesNilSummary(t *testing.T) {
func TestReadCheckpointNormalizesNilSummary(t *testing.T) {
	t.Parallel()

reader := &committedReaderStub{}
2 unmodified lines

require.ErrorIs(t, err, ErrCheckpointNotFound)
}

func TestReadCommittedCheckpointWrapsReaderError(t *testing.T) {
func TestReadCheckpointWrapsReaderError(t *testing.T) {
	t.Parallel()

readerErr := errors.New("boom")
```

Mcmd/entire/cli/checkpoint/persistent_reader_test.go+2/-2
