0. 版本歷程

版本日期主要變動
v1.02026-05-06初版:4 類別刪檔 + lint→repair 兩段式 + 三層緩衝期 + 規則 A/E 引用

🗑 Wiki 刪檔處理 SOP

在 vault 內刪任何東西前,請按本檔流程走。規則 A 說 raw/ 唯讀;本檔講「何時可刪、怎麼刪、刪之前要做什麼」


為什麼有這份 SOP

刪檔是不可逆的破壞性操作,比 ingest 更值得 SOP。三個動機:

  1. 連結反向波及:刪一個 entity 會讓所有 [[X]]-style 引用變 broken link,影響面比想像大
  2. 三層緩衝期:raw / wiki / 40-Resources 各層的安全等級不同,混用同一條規則會出事
  3. LLM 自動化擴大破壞:當 LLM agent 跑 batch ops 時,沒 SOP 的「順手刪」可能掃掉重要檔

刪檔分類(4 類,動作不同)

1. raw/ — ⚠️ 永不刪(規則 A)

動作OK 嗎?
改內容❌ 永遠不准(CLAUDE 規則 A)
改檔名❌ 永遠不准(basename 是 source 路徑指針)
移到 PARA 或 09-archive✅ 由 PARA_ROUTING 規則處理(v1.3 起)
永久刪除❌ 永不

例外:raw 檔已被路由到 PARA 後 + 確認所有 entity 的 source: 已更新 + 12 個月以上沒被引用 → 才可考慮歸 deepfreeze。仍須先提案使用者批准

2. wiki/entities/ — 看 status 分流

status動作
stable❌ 不刪。先改 deprecated + 加 ## ⚠️ Deprecated 區塊
draft🟡 可刪,但建議先跑 wiki-status-promote 評估
deprecated🟢 30 天緩衝期過後可刪。但保留 backlink 為宜(給歷史追溯用)

3. wiki/maps/ — 看是否還有 entity 引用

條件動作
length(file.inlinks) > 0❌ 不刪。先把 inbound entity 的引用改指其他 map
length(file.inlinks) == 0 且使用率低🟢 可直接刪

4. Attachments/ 與其他附件

條件動作
有 entity 透過 ![](Attachments/X) 引用❌ 不刪
沒任何引用,且 mtime > 90 天🟢 可刪
不確定跑 grep 確認後再決定

刪檔前必做:lint → repair 兩段式

任何 ≥ 1 個檔的批次刪除,都必走兩段:

階段 1:lint(偵測)
  └─ python3 wiki/tools/lint.py wiki/  → JSON 報告
  └─ wiki-repair --plan-only             → dry-run plan

階段 2:repair(執行)
  └─ 使用者批准 plan 中的 N 條(apply 1 / apply 3 / apply N)
  └─ 才真的動檔

不可跳過 lint 直接刪——lint 會找出「這個 orphan 其實還有 backlink 在 maps/ 裡,刪了會斷」這種隱性 dependency。


三層緩衝期

不同生命週期的 artifact,緩衝期不同:

類型標 deprecated → 真刪範例
設備 / 系統下線12 個月舊 PAM 模組退役、CallIT 替代舊系統
wiki entity(過時概念)90 天過時的 plugin 設計、廢棄的工作流 pattern
wiki entity(重複合併)30 天兩個概念合併成一個,舊那個 deprecated
draft / temp 檔7 天wiki-status-promote 評估後沒升 stable 的 draft

→ 緩衝期內:

  1. status 改 deprecated
  2. ## ⚠️ Deprecated,連到取代頁
  3. 等緩衝期過 → 才執行真刪

規則交叉引用

  • 規則 A(raw/ 唯讀):見 CLAUDE §2 規則 A
  • 規則 E(寫檔前先提案):批次刪檔屬於「批次操作」,必先提案。見 CLAUDE §10 規則 E
  • 規則 F 廣義版(破壞性 flag 必對應 exclusion list):rsync --delete / find -delete / git clean -fdx / rm -rf 都要列 exclude。見 CLAUDE §10 規則 F

觸發指令速查

想做
評估某 entity 是否該刪「評估 [[X]] 該不該刪」
跑 lint 找候選「lint wiki」/「巡 wiki」
跑 repair 修補 lint 發現的問題「批量修 wiki」
升降 status(stable / draft / deprecated)「批次升 stable」/「審草稿」
真實刪檔「執行刪除 [[X]]」(必跑提案)

緊急狀況

如果不慎刪了重要檔:

  1. 先確認 iCloud 同步狀態——若還沒同步推到雲端,本機可能還能 undo
  2. macOS Time Machine——往回看最近的快照
  3. Obsidian 內建 trash——.trash/ 通常保留 7 天
  4. git history(若 vault 有 git)——git checkout HEAD~N -- <path>

[[Wiki_儀表板]] 上的「⏰ 90 天 stale」清單可以反向監控——突然消失的 entity 可能是被誤刪。


← 回到 Wiki_儀表板 | CLAUDE | wiki