Replace the blunt kindPrefix !== '' guard in _syncGsdDir with a manifest-membership discriminator. For non-empty prefix runtimes, behavior is unchanged (prefix match). For Hermes (empty prefix), a directory is GSD-owned iff its stem appears in the canonical manifest; only those dirs are removal candidates when absent from the staged set. Dirs not in the manifest (user-owned) are preserved unconditionally. When no manifest is provided (legacy callers), the removal pass is skipped (conservative fallback). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
13 KiB
13 KiB