diff --git a/src/state-store.ts b/src/state-store.ts index faad0710..ffab99f4 100644 --- a/src/state-store.ts +++ b/src/state-store.ts @@ -39,7 +39,7 @@ import { TokenUsageEntry, } from './types.js'; import { Debouncer, MAX_SESSION_TOKENS } from './utils/index.js'; -import { dataPath } from './config/instance.js'; +import { dataPath, CODEMAN_INSTANCE } from './config/instance.js'; /** Debounce delay for batching state writes (ms) */ const SAVE_DEBOUNCE_MS = 500; @@ -90,8 +90,10 @@ export class StateStore { private _saveInFlight: Promise | null = null; constructor(filePath?: string) { - // Migrate legacy data directory (~/.claudeman → ~/.codeman) - if (!filePath) { + // Migrate legacy data directory (~/.claudeman → ~/.codeman). Default (prod) + // instance only — a named instance (e.g. beta) must never touch the shared + // ~/.codeman / ~/codeman-cases layout, preserving instance isolation. + if (!filePath && !CODEMAN_INSTANCE) { const legacyDir = join(homedir(), '.claudeman'); const newDir = join(homedir(), '.codeman'); if (existsSync(legacyDir) && !existsSync(newDir)) {