{"version":"2.1.277","anchor":"compact-handoff-adjacent-transcript-lineage-tracking-added","canonical_anchor":"compact-handoff-adjacent-transcript-lineage-tracking-added","heading":"Session resume now tracks transcript lineages, a rewound flag, and class-filtered message keys","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277\/e\/compact-handoff-adjacent-transcript-lineage-tracking-added","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277","markdown":"### Session resume now tracks transcript lineages, a rewound flag, and class-filtered message keys\n\nResuming a session keeps richer bookkeeping about which messages are kept, their lineage, and whether the session was rewound\n\n**Unclear.** The finding does not say what user-visible effect this added tracking has, only that the data structure carries more fields.\n\n**What**\n\n- The structure that tracks which retained or forked messages ('keys') belong to a session now also carries `transcriptLineages` and a `keysWithClass` subset (messages meeting a class predicate), plus a `rewound` flag, where before it only tracked a plain list of keys.\n\n- The session-resume helpers now build these richer objects from a shared empty-state constructor.\n\n- Resume logic no longer just scans for the first turn not already held; it now classifies turns as 'fresh' or 'withClass' and picks the resume point using that classification.\n\n**Why**\n\nThis gives Claude Code more precise bookkeeping when resuming a session, including whether the session was rewound and which messages match particular criteria, so resume picks up from the right point more reliably.\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}