bcd23ee7c1
Seeding additionalDirectories at launch (via --add-dir or the workspace.additionalDirectories setting) called #rewriteAtomically on a brand-new session manager, which materialized a header-only JSONL and a fresh breadcrumb before any assistant output. Launching and exiting with configured roots therefore created an empty resumable session that --continue picked over the previous conversation. Gated all three workspace-directory mutators behind the existing #shouldHaveSessionFile() lazy-persistence gate (one shared helper), and made setAdditionalDirectories a no-op when the normalized list is unchanged so resuming large sessions no longer rewrites the whole JSONL on every startup. Roots set before the gate is crossed land in the header with the first durable write; added a regression test.