address PR feedback on checkpoint cleanup · Entire

address PR feedback on checkpoint cleanup

7d667c3→main·

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

Decouple checkpoint summary generation from the git store concrete type and clarify why diagnostic bundles still include refs/entire after removing the v1.1 mirror machinery.

Sessions

da874a38be9eView transcript

[?
Collapse Checkpoint Metadata to v1Codex·GPT-5.5·5 steps](/content/gh/entireio/cli/session/019ed756-10c2-7381-85f9-e4e65afabf11#timeline-da874a38be9e/index.html)

Changes

2

149 unmodified lines

150
151
152
153
153
154
155
156
157

149 unmodified lines

func entireRefsReport(ctx context.Context, repoRoot string) string {
    var sb strings.Builder

// Broad globs on purpose: refs/heads/entire also catches shadow/trails branches.
    // Broad globs on purpose: refs/heads/entire catches shadow/trails branches,
    // and refs/entire captures custom or legacy Entire refs.
    cmd := exec.CommandContext(ctx, "git", "for-each-ref", "--format=%(refname) %(objectname)",
        "refs/heads/entire", "refs/entire", "refs/remotes/origin/entire")
    cmd.Dir = repoRoot

Mcmd/entire/cli/doctor_bundle.go+2/-1

887 unmodified lines

888
889
890
891
892
893
894
895
896
897
1 unmodified line

899
900
901
898
902
903
904
905

887 unmodified lines

return lookup, nil
}

type checkpointSummaryUpdater interface {
    UpdateSummary(ctx context.Context, checkpointID id.CheckpointID, summary *checkpoint.Summary) 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 *checkpoint.GitStore, checkpointID id.CheckpointID, cpSummary *checkpoint.CheckpointSummary, content *checkpoint.SessionContent, force bool, summaryTimeoutSeconds int) error {
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 {
    // Check if summary already exists
    if content.Metadata.Summary != nil && !force {
        return renderExplainFailure(errW, "Summary already exists", []explainRow{