{"version":"2.1.283","anchor":"retention-sweep-keeps-a-checkout-sessions-git-objectsalter","canonical_anchor":"retention-sweep-keeps-a-checkout-sessions-git-objectsalter","heading":"Cleanup of old session data keeps what a synced checkout still needs","tier":"internal","area":"Housekeeping","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283\/e\/retention-sweep-keeps-a-checkout-sessions-git-objectsalter","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283","markdown":"### Cleanup of old session data keeps what a synced checkout still needs\n\nThe routine that clears old session data now empties a checkout's trash but keeps the git links a synced checkout still depends on\n\n**Unclear.** It is not clear what the three new cleanup steps remove, or which entry is kept.\n\n**What**\n\nThe retention sweep is the routine that clears out old session data. When it cleans a session folder, it now empties that checkout's trash first and counts what it removed and any errors. If newer trash is being kept, one entry is cut down to just its git `objects\/info\/alternates` chain instead of being deleted. A git alternates file points to another place where git stores shared data. Before, every non-reserved entry was deleted outright. The sweep also gains three further cleanup steps.\n\nThe history prune still depends on the server setting `tengu_hipaa_history_retention_prune`, which is on unless it is switched off remotely.\n\n**Why**\n\nThis stops the cleanup from breaking a synced checkout whose git alternates still point into the session folder.\n\n- Flag `tengu_hipaa_history_retention_prune`: On for this account, and not off by default (read for one account on one subscription tier against v2.1.283; this account: on, anonymous baseline: on, compiled default: on) 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: Housekeeping\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}