21ba319934
實測:裝過舊版的專案「先 install 發現裝過再 update」→ install 先建空殼, update 遷移見目的地已存在就冪等跳過 → 真資料卡舊位置、空殼佔新位置、並存。 職責切分:install 只管全新安裝,一切已裝過的後續歸 update。 - install 防呆:偵測裝過沒(system-dev/ 或 .claude/wiki/ 或 .claude/VERSION 任一存在,不分新舊版)→ 不動任何東西,導去 update。源頭杜絕並存。 - update 偵測並存:migrate_dir 遇目的地已存在但舊位置仍有真資料 → COEXIST 警告需合併,不靜默跳過、不自動合併(絕不覆蓋用戶資料),引導 CC 逐檔合併。 - install↔update 互相導向,閉環無死結。 - 沙盒驗證:四種狀態(新結構/舊wiki/舊VERSION/全新)防呆正確、並存偵測不吃資料。 對應 SDD: install-layout(內部,不推)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>