feat: wiki 資訊架構 push/pull 判準 + principles 原則 push 檔 + bump 1.10.0

從「用戶所有檔案一律改寫成 wiki」前提,用 push(行動前必看見)vs pull(按需查)
重新推導 wiki/ 每個檔存廢——wiki 主要給 AI 看,判準是 CC 做事會不會被動看見。
對應 SDD: wiki-architecture(內部,依原則不推)。

- 新增 principles.md(push 全文):收跨全局原則(不污染根目錄、low-code…),
  原則是會被遺忘的盲區,沒推到眼前 CC 設計時不服從。一行一條 ≤15。
- mistakes 改 push 摘要(標題+症狀,全文按需展開,量大不撐爆 context)
- decisions-summary 降級為 cards + INDEX 決策視圖(既有相容)
- INDEX 升級多角度視圖的家:新增角度只改 INDEX,不開檔不問用戶
- session-start hook 三類 push:principles 全文→status→mistakes 標題;>15 警告
- install 補 principles download;update 加 add_if_missing(補範本/已有則保留)
- push/pull 判準寫進 wiki-init + SKILL,CC/Cowork 共用
- 沙盒驗證:三類注入順序與量受控、add_if_missing 不覆蓋用戶內容、全 bash -n 過

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-26 16:52:32 +08:00
parent ead3593109
commit 671503fd70
12 changed files with 197 additions and 42 deletions
+15
View File
@@ -149,6 +149,19 @@ keep_file() {
[ -f "$1" ] && KEPT+=("$1") || true
}
# 補新檔:舊版沒有、新版才有的「使用者資料檔」(如 principles.md)。
# 不存在 → 抓範本下來(之後由使用者/CC 填);已存在 → 當用戶資料保留,絕不覆蓋。
add_if_missing() {
local dest="$1" src="$2"
if [ -f "$dest" ]; then
KEPT+=("$dest")
elif curl -sSL "$src" -o "$dest" 2>/dev/null && [ -s "$dest" ]; then
NEW+=("$dest")
else
rm -f "$dest"
fi
}
# 客製檔:使用者一定會手填內容(如 pre-write-guard.sh)。
# - 已存在 → 絕不覆蓋,但把最新模板版抓到 <檔名>.template.sh 旁邊,供使用者自行 diff 採納。
# - 不存在 → 視同新檔,直接抓本體(第一次安裝才會走這條)。
@@ -213,6 +226,8 @@ if $HAS_WIKI; then
# wiki 的「使用者資料」:絕不碰
keep_file "system-dev/wiki/status.md"
keep_file "system-dev/wiki/mistakes.md"
# principles.md1.10):舊版沒有 → 補範本;已有 → 當用戶資料保留
add_if_missing "system-dev/wiki/principles.md" "$TEMPLATE_URL/system-dev/wiki/principles.md"
keep_file "system-dev/wiki/decisions-summary.md"
keep_file "system-dev/wiki/TAXONOMY.md"
keep_file "system-dev/wiki/.wikiignore"