{"version":"2.1.198","anchor":"precomputed-conversation-compaction-persistence-gradual-roll","canonical_anchor":"precomputed-conversation-compaction-persistence-gradual-roll","heading":"Precomputed Conversation Compaction Persistence [Gradual Rollout]","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.198\/e\/precomputed-conversation-compaction-persistence-gradual-roll","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.198","markdown":"### Precomputed Conversation Compaction Persistence [Gradual Rollout]\n\n**What**\n\nConversation compaction results are now pre-computed and persisted to a `.precompact.json` sidecar file, enabling instant compact rehydration when a session restarts.\n\n**Details**\n\n- Feature-gated by `tengu_amber_packet`; not universally enabled yet\n- Pre-compact file is written to the session directory alongside the transcript\n- At session start, if a valid `.precompact.json` is found and passes age\/model\/token-drift checks, the compaction result is reused without re-running the LLM summary\n- Invalidation conditions: model changed, too old, transcript grew or shrank too much, boundary UUID missing\n- Log messages: `\"precomputed compact: rehydrated\"`, `\"precomputed compact: persisted\"`, `\"precomputed compact: rehydrate rejected (<reason>)\"`\n\n**Evidence**\n\nFile constant (search for `\".precompact.json\"`) and feature flag (search for `tengu_amber_packet`)\n\n- Flag `tengu_amber_packet`: Off in both readings (read for one account on one subscription tier against v2.1.198; this account: off, anonymous baseline: off, compiled default: off) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release."}