fix: install 防重複安裝,已裝過導去 update(杜絕 wiki 並存)+ bump 1.10.1

實測:裝過舊版的專案「先 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>
This commit is contained in:
2026-06-26 17:51:18 +08:00
parent 671503fd70
commit 21ba319934
5 changed files with 50 additions and 3 deletions
+10
View File
@@ -10,6 +10,16 @@
---
## 1.10.1 — install 防重複安裝:已裝過一律導去 update(杜絕 wiki 並存)
實測踩到:一個裝過舊版的專案,「先跑 install、發現裝過、再跑 update」→ install 先在 system-dev/ 建了空白範本,update 的遷移看到「目的地已存在」就冪等跳過 → 真資料卡在舊 .claude/wiki/、空殼佔新位置,兩套 wiki 並存內容不同。
職責切分:**install 只管全新安裝,一切已裝過的後續(更新/遷移/補新檔)歸 update。**
- **install 防呆**:偵測「裝過沒」(system-dev/ 或 .claude/wiki/ 或 .claude/VERSION 任一存在,不分新舊版)→ 不動任何東西,導去 update 並 exit。從源頭杜絕「重複 install 製造並存」。
- **update 偵測並存**migrate_dir 遇「目的地已存在但舊位置仍有真資料」→ 警告 COEXIST「並存需合併」,不靜默跳過、不自動合併(絕不覆蓋用戶資料),引導叫 CC 逐檔合併。
- install↔update 互相導向(update 遇全新專案也導回 install),閉環無死結。
## 1.10.0 — wiki 資訊架構:push/pull 判準 + principles(原則)push 檔
從「用戶所有檔案一律改寫成 wiki」的新前提,用 **pushCC 行動前必主動看見)vs pull(按需檢索)** 重新推導 wiki/ 每個檔的存廢——因為 wiki 主要是給 AI 看的,判準是「CC 做事時會不會被動看見」,不是分類美學。對應 SDDwiki-architecture。