{"version":"2.1.319","anchor":"gate-swap-tengu-mill-orange-replaced-by-tengu-hazy-prism-in","canonical_anchor":"reactive-compaction-can-put-back-dropped-content-and-records","heading":"Last-resort compaction can put back dropped messages, behind a new flag","tier":"notice","area":"Internals","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319\/e\/gate-swap-tengu-mill-orange-replaced-by-tengu-hazy-prism-in","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319","markdown":"### Last-resort compaction can put back dropped messages, behind a new flag\n\nLast-resort compaction can splice dropped messages back and record lost rounds, and its put-back switch moved to a new server flag\n\n**Unclear.** What either of these features does is not stated.\n\n**What**\n\nCompaction is how Claude Code shortens a long conversation so it still fits: it summarizes older parts. The reactive, last-resort compaction path gains new pieces, and the remote switch for one of them has changed:\n\n- A put-back step splices extra messages back into the set being summarized. It is tracked by `compactionApiAttemptsLeft` and a `putBack` list.\n\n- After a successful compaction that had to cut messages from the start of the conversation (head truncation), Claude Code records `compact_rounds_dropped` with the reason `prompt_dropped`, `summary_dropped` or `prompt_and_summary_dropped`.\n\n- The compaction summary footer is restructured. The note pointing to the saved transcript is added only when a transcript path exists.\n\n- The helper `eMi()` decides whether the `putBack` list is built. It now reads the server-side flag `tengu_hazy_prism` instead of `tengu_mill_orange`. When the flag is on, the list is `oo.filter(Xoe)`. Otherwise it is empty. The fallback is false, so the put-back path stays off when no server value exists.\n\n- A separate helper that read `tengu_quiet_slate_wren` now reads `tengu_valiant_teapot`, also with fallback false.\n\nA flag is a remote switch Anthropic can turn on for some accounts. For `tengu_hazy_prism`, `tengu_mill_orange`, `tengu_valiant_teapot` and `tengu_quiet_slate_wren`, the flag server returned off for this site's account and for the anonymous baseline. None of those readings was taken under this release. Nothing has been read about `tengu_reactive_compact_attempt`, the gate listed for the new compaction helpers.\n\n**Why**\n\nWhen compaction has to throw part of the conversation away, this can bring some of it back, and it records when your prompt or the summary was lost. The put-back path now follows the server value of `tengu_hazy_prism`, not the old flag.\n\n- Flag `tengu_hazy_prism`: Off in both readings (read for one account on one subscription tier against v2.1.319; 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.\n- Flag `tengu_mill_orange`: Off in both readings (read for one account on one subscription tier against v2.1.319; this account: off, anonymous baseline: off, compiled default: not a boolean we can read) 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.\n- Flag `tengu_valiant_teapot`: Off in both readings (read for one account on one subscription tier against v2.1.319; 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.\n- Flag `tengu_quiet_slate_wren`: Off in both readings (read for one account on one subscription tier against v2.1.319; this account: off, anonymous baseline: off, compiled default: not a boolean we can read) 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.\n- Area: Internals\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}