Summary
Add generation rotation to limit unbounded growth of transcript data stored in checkpoints, keeping the git object database bounded while preserving recent context.
What to implement
- Size tracking — track cumulative transcript JSONL size per session across checkpoints
- Generation rotation — rotate older transcript content when a configurable threshold is exceeded
- Configuration — add
max_transcript_size setting (default ~10MB) to the layered config system
- Backward compatibility — existing large transcripts remain readable; rotation only applies to new writes
Why this matters
Long-running agent sessions produce JSONL transcripts that grow unboundedly, inflating the git object database, slowing checkpoint operations, and causing performance issues during push. Generation rotation keeps storage bounded while preserving the most valuable recent context.
Context hints
internal/checkpoint/ — checkpoint storage and creation
internal/agent/claude/parse_jsonl.go — JSONL parsing
internal/config/ — layered configuration system
Source
Inspired by entireio/cli changelog 0.5.2: "Generation rotation to bound transcript growth"
Summary
Add generation rotation to limit unbounded growth of transcript data stored in checkpoints, keeping the git object database bounded while preserving recent context.
What to implement
max_transcript_sizesetting (default ~10MB) to the layered config systemWhy this matters
Long-running agent sessions produce JSONL transcripts that grow unboundedly, inflating the git object database, slowing checkpoint operations, and causing performance issues during push. Generation rotation keeps storage bounded while preserving the most valuable recent context.
Context hints
internal/checkpoint/— checkpoint storage and creationinternal/agent/claude/parse_jsonl.go— JSONL parsinginternal/config/— layered configuration systemSource
Inspired by entireio/cli changelog 0.5.2: "Generation rotation to bound transcript growth"