{"version":"2.1.228","anchor":"transcript-cleanup-prunes-a-new-sidecar-file-and-refuses-ris","canonical_anchor":"transcript-cleanup-prunes-a-new-sidecar-file-and-refuses-ris","heading":"Transcript cleanup prunes a new sidecar file and refuses risky directory names","tier":"notice","area":"Sessions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.228\/e\/transcript-cleanup-prunes-a-new-sidecar-file-and-refuses-ris","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.228","markdown":"### Transcript cleanup prunes a new sidecar file and refuses risky directory names\n\nCleanup now deletes leftover per-directory sync files so they stop piling up next to transcripts.\n\n**What**\n\nRetention cleanup now recognises and deletes the per-directory sync-state file written next to a transcript as `<name>.dir-sync.json`, along with its temporary variants, so these no longer accumulate.\n\n**Details**\n\n- The check made before recursively removing a session's companion directory was tightened. It previously only rejected empty, `.` and `..` names.\n- It now also rejects names containing path separators, reserved or device-like names, names ending in a dot or space, and names ending in `.jsonl`.\n\n**Evidence**\n\n`.dir-sync.json`\n\n- Area: Sessions\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5"}