fix: anchor adopted prompt windows · Entire

fix: anchor adopted prompt windows

e6f63eb·

peyton-alt·3w ago·2 files·+28 added/-1 removed

Sessions

6fb8304acd8dView transcript

[?
--enable hooks and amake sure entire is enabled in this session and you're up to date on latest version and main pleaseCodex·GPT-5.5·10 steps](/content/gh/entireio/cli/session/019ed5fe-ec49-7a72-89fd-f38e323f5448#timeline-6fb8304acd8d/index.html)

Changes

2

262 unmodified lines

263
264
265
266
266
267
268
269
270
271
272

262 unmodified lines

adopted.UntrackedFilesAtStart = nil
    adopted.PromptAttributions = nil
    adopted.PendingPromptAttribution = nil
    adopted.PromptWindowBase = 0
    // Preserve cumulative turn/context metrics for the continuing agent session,
    // but start the target checkpoint prompt window at the current turn count so
    // the first adopted checkpoint only counts target-side turns.
    adopted.PromptWindowBase = adopted.SessionTurnCount
    adopted.PromptWindowResetPending = false
    adopted.AttachedManually = false

Mcmd/entire/cli/session_adopt.go+4/-1

204 unmodified lines

205
206
207
208
209
210
211
212
213
214
2 unmodified lines

217
218
219
220
221
222
223
224
34 unmodified lines

259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282

204 unmodified lines

TranscriptPath:              transcriptPath,
        LastPrompt:                  "write target feature",
        StepCount:                   4,
        SessionDurationMs:           120_000,
        SessionTurnCount:            7,
        ContextTokens:               42_000,
        ContextWindowSize:           200_000,
        CheckpointTranscriptStart:   2,
        CheckpointTranscriptSize:    1234,
        CondensedTranscriptLines:    2,
2 unmodified lines

TurnCheckpointIDs:           []string{"abc123def456"},
        LastCheckpointID:            id.MustCheckpointID("abc123def456"),
        LastCheckpointCommitHash:    "source-commit",
        PromptWindowBase:            3,
        PromptWindowResetPending:    true,
    }); err != nil {
        t.Fatal(err)
    }
34 unmodified lines

if adopted.TranscriptIdentifierAtStart != "" {
        t.Fatalf("TranscriptIdentifierAtStart = %q, want empty", adopted.TranscriptIdentifierAtStart)
    }
    if adopted.SessionDurationMs != 120_000 {
        t.Fatalf("SessionDurationMs = %d, want preserved source duration", adopted.SessionDurationMs)
    }
    if adopted.SessionTurnCount != 7 {
        t.Fatalf("SessionTurnCount = %d, want preserved source turn count", adopted.SessionTurnCount)
    }
    if adopted.ContextTokens != 42_000 {
        t.Fatalf("ContextTokens = %d, want preserved source context tokens", adopted.ContextTokens)
    }
    if adopted.ContextWindowSize != 200_000 {
        t.Fatalf("ContextWindowSize = %d, want preserved source context window size", adopted.ContextWindowSize)
    }
    if adopted.PromptWindowBase != adopted.SessionTurnCount {
        t.Fatalf("PromptWindowBase = %d, want current SessionTurnCount %d", adopted.PromptWindowBase, adopted.SessionTurnCount)
    }
    if adopted.PromptWindowResetPending {
        t.Fatal("PromptWindowResetPending = true, want false for adopted target window")
    }
    if len(adopted.TurnCheckpointIDs) != 0 {
        t.Fatalf("TurnCheckpointIDs = %v, want empty", adopted.TurnCheckpointIDs)
    }

Mcmd/entire/cli/session_adopt_test.go+24