Merge Main and Resolve Transcript Conflicts · Entire
Pull in main to this branch and resolve conflicts
Merged origin/main into push-compact-for-v1
Pulled 367 commits from main into your 1-commit branch. The auto-merge handled all code files cleanly; two doc files conflicted, both for the same underlying reason.
Key finding
Main has removed the v1.1 checkpoint read-mirror feature entirely — the merge deleted cmd/entire/cli/strategy/v1_custom_ref_mirror.go (+test), and the new checkpoint store IgnoresCheckpointsVersion. Main also deleted all v1.1 mirror documentation. Your branch's base still carried it.
Conflicts resolved
Both conflicts mixed two independent things; I split them by what the merged code actually contains:
| Content | Decision | Why |
|---|---|---|
Compact transcript (transcript.jsonl) docs — your commit's feature |
Kept | The code (writeCompactTranscript etc.) survived the merge into the refactored committed.go intact |
| v1.1 local read-mirror docs — pre-existing context | Dropped | Feature was removed from main's code; keeping the docs would describe behavior that no longer exists |
CLAUDE.md— kept compact-transcript bullet, dropped v1.1 bulletdocs/architecture/sessions-and-checkpoints.md— kept compact-transcript paragraph, dropped#### v1.1 local read mirrorsection
Verification
go build ./...— cleancheckpoint,strategy,pathspackage tests — all pass- No conflict markers or stray v1.1 references remain (the remaining "mirror" mentions are the unrelated
repo mirror listcommand)
Merge commit d7e855b1d created on push-compact-for-v1. Not pushed.
One thing worth flagging: your compact-transcript work was the v1 counterpart to a versioning scheme that main has since reworked (the v1.1 mirror is gone, and the checkpoint store now ignores checkpoints_version). The code merged and compiles, but you may want to confirm the compact-transcript feature still fits main's new checkpoint-store design before pushing.
Behavior change
transcript.jsonl (the compact transcript) is still generated and written into the checkpoint tree on every committed write and during finalization, so it's pushed alongside full.jsonl with the entire/checkpoints/v1 branch. The metadata.json``sessions[].transcript pointer now stays on full.jsonl — pointing it at the compact transcript is deferred.
Code
committed.go:writeTranscriptkeeps callingwriteCompactTranscriptbut always returnsfull.jsonlas the pointer.writeCompactTranscriptno longer returns the now-unusedbool(fixed theunparamlint hit). Updated the doc comments inwriteTranscript,replaceTranscript, and the directory-tree diagram.committed_compact_transcript_test.go: the one assertion that expected the pointer to target the compact file now expectsfull.jsonl; the tests that the compact file is written, scoped, and regenerated stay as-is.- Docs (
CLAUDE.md,sessions-and-checkpoints.md): pointer now documented as staying onfull.jsonl, compact pushed but not yet referenced.
Verification
mise run fmt+mise run lint→ 0 issuesmise run test:ci(unit + integration + e2e canary) → exit 0, all green
Git / PR
- Committed
2b5c661e8onpush-compact-for-v1and pushed. - PR #1419 retitled to "Store and push compact transcript.jsonl in v1 checkpoints (metadata pointer unchanged)" and the description rewritten: scope narrowed to write-and-push only, pointer-flip called out as a follow-up, and the stale v1.1 mirror references removed (main deleted that feature).
Summary of what changed and shipped:
| Command | Exit | Relevant output | Full log |
|---|---|---|---|
go test ./pkg/foo -run TestBar -count=1 |
0 | Short success excerpt. | n/a |
Final summary
| Thread | Reviewer | Status | Reply |
|---|---|---|---|
PRRT_…SpQ |
cursor (Bugbot) | Fixed | Yes |
PRRT_…SpL |
cursor (Bugbot) | Fixed | Yes |
What changed:
replaceTranscriptnow sanitizes Codex transcripts (codex.SanitizePortableTranscript) before generating the compacttranscript.jsonl, matching the initial-write path.