explain: use checkpoint.Writer directly instead of a local duplicate interface · Entire

explain: use checkpoint.Writer directly instead of a local duplicate interface

12f0c05→main·

Soph·4w ago·1 file·+1 added/-5 removed

Addresses Copilot review on #1481: checkpointSummaryUpdater had the exact signature of the new checkpoint.Writer, so the local interface was redundant and risked drifting from the canonical write surface.

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

Sessions

fd7281b01ac1View transcript

[?
can you run simplify on each PR?Claude Code·Opus 4.8[1m]·1 step](/content/gh/entireio/cli/session/345ffa6b-bd28-4afc-953f-78cb65a1c2eb#timeline-fd7281b01ac1/index.html)

Changes

1

887 unmodified lines

888
889
890
891
892
893
894
891
892
893
1 unmodified line

895
896
897
902
898
899
900
901

887 unmodified lines

return lookup, nil
}

type checkpointSummaryUpdater interface {
    Write(ctx context.Context, req checkpoint.WriteRequest) error
}

// generateCheckpointSummary generates an AI summary for a checkpoint and persists it.
// The summary is generated from the scoped transcript (only this checkpoint's portion),
// not the entire session transcript.
1 unmodified line

// summaryTimeoutSeconds is the per-invocation --summary-timeout-seconds flag
// value (0 = unset). Effective precedence for the deadline: flag > settings >
// package default. See resolveSummaryTimeout for the resolution.
func generateCheckpointSummary(ctx context.Context, w, errW io.Writer, store checkpointSummaryUpdater, checkpointID id.CheckpointID, cpSummary *checkpoint.CheckpointSummary, content *checkpoint.SessionContent, force bool, summaryTimeoutSeconds int) error {
func generateCheckpointSummary(ctx context.Context, w, errW io.Writer, store checkpoint.Writer, checkpointID id.CheckpointID, cpSummary *checkpoint.CheckpointSummary, content *checkpoint.SessionContent, force bool, summaryTimeoutSeconds int) error {
    // Check if summary already exists
    if content.Metadata.Summary != nil && !force {
        return renderExplainFailure(errW, "Summary already exists", []explainRow{

Mcmd/entire/cli/explain.go+1/-5