📚職涯停看聽・知識庫← 總部儀表板
📅最後更新:2026/05/01
📑 目錄

RCF-001 — 建立 RCF 規格層變更紀錄機制

類型:規則變更 日期:2026-04-22 觸發條件:條件 1 — 新增 HARD STOP 規則(主 CLAUDE.md 快速索引表格新增「RCF 規格層變更紀錄」一列) 相關文件

  • CLAUDE.md(新增 ⛔ RCF 規格層變更紀錄規則章節 + 快速索引)
  • knowledge/decisions/README.md(新增 RCF 類型說明)
  • knowledge/CLAUDE.md(文件索引 + 觸發情境)
  • knowledge/decisions/RCF-000-template.md(新建模板)
  • 18 個部門 CLAUDE.md(最近修改記錄同步)

問題背景

跨 session 壓縮後,Claude 只能從 git log 知道「改了什麼」,無法知道「為什麼這樣改」。具體症狀:

  • 某個 HARD STOP 的措辭被修改,但看不出是修正舊設計的缺陷還是擴展觸發條件
  • 某個部門 CLAUDE.md 被批量同步,但不知道同步的依據是什麼規則更改
  • SKILL 執行步驟改了,但不確定舊步驟為什麼不夠用

這個問題在系統規模小時可容忍,但隨著 HARD STOP 規則增加、部門數量增加,「設計失憶」的成本越來越高——新規則可能重複舊決策、舊問題可能被重複引入。

commit message 不適合作為決策記錄:它記錄「做了什麼」,不記錄「考慮過哪些方案、為什麼選這個」。


考慮過的方案

方案 描述 優點 缺點 採用?
方案 A:依賴 git commit message 在 commit message 中加入詳細的 Why 說明 零新文件 commit message 有長度限制,無法承載多方案對比;閱讀體驗差;不可搜尋 ❌ 未採用
方案 B:擴展 audit-log.md 在現有 audit-log.md 中新增「決策背景」欄位 不需新資料夾 audit-log 定位是「錯誤追溯」,混入架構決策會讓兩種記錄互相干擾;長期會變成難以閱讀的流水帳 ❌ 未採用
方案 C:decisions/ 新增 RCF 類型(最終採用) 在現有 knowledge/decisions/ 中新增 RCF-XXX.md 格式,作為架構決策的設計理由記錄 與現有 decisions/ 架構一致(ADR 概念);可獨立搜尋;有標準模板;零新資料夾 需要定義明確的觸發條件,否則「什麼都要寫」等於什麼都不會寫 ✅ 採用

最終決策

採用方案 C,原因:

  1. 落地成本最低knowledge/decisions/ 已存在,不需新資料夾或新系統
  2. 格式一致性:與現有 001-hq-architecture.md、002-tech-stack.md 的 ADR 精神一致
  3. 可搜尋:RCF-XXX.md 命名讓 Grep 可以快速定位所有設計決策
  4. 觸發條件可機械化:5 個條件均為二元判斷(成立/不成立),不需人工判斷「夠不夠重要」

方案 A 排除理由:commit message 是執行記錄,不是設計記錄,強行混用會讓兩者都不好用。 方案 B 排除理由:audit-log 定位是「找錯誤、修錯誤」,混入架構決策會破壞其作為「問題追蹤清單」的可讀性。


影響範圍

影響類型 具體項目
新增文件 knowledge/decisions/RCF-000-template.md(模板)
新增文件 knowledge/decisions/RCF-001-rcf-mechanism.md(本文件,自我記錄)
修改文件 CLAUDE.md:快速索引新增 RCF 列 + 新增「⛔ RCF 規格層變更紀錄規則」章節
修改文件 knowledge/decisions/README.md:索引表格新增 2 列 + 新增 RCF 類型說明
修改文件 knowledge/CLAUDE.md:文件索引 +2 列 + 最近修改記錄更新
觸發部門同步 18 個部門 CLAUDE.md 最近修改記錄各新增 1 行

驗證方式

  1. 下次對話中如果發生觸發條件 1-5 的任一情況,查照中應出現「⚠️ 觸發 RCF:條件 X」標注
  2. 執行結束後 knowledge/decisions/ 應有對應的 RCF-XXX.md 新文件
  3. grep -rn "RCF" CLAUDE.md 應能找到快速索引行 + 規則章節

RCF 改版上限機制執行慣例(2026-05-01 補入,源自 RCF-031 v1.0→v1.1 首例)

觸發條件

單一 RCF 文件進入 v1.1 / v1.2 / v1.3 修訂時。

封存方式:採 git history(不另存 archived 副本)

理由

  1. git log knowledge/decisions/RCF-XXX.md 即可完整追溯所有版本演進
  2. 每次 commit 即為快照,無資訊遺失
  3. 避免 archived 副本與主檔 diverge 的維護成本
  4. 與 Tim 既有 git 工作流一致

主檔修訂規範

  • 頂部「版本」欄位更新為新版本號
  • 頂部新增「v1.X 修訂說明」section(簡短列出主要變更與依據)
  • 文末「執行記錄」表新增一列(日期 / 動作「v1.X 修訂」/ 備註)
  • 不需另存 RCF-XXX-v1.0-archived.md 等副本檔案

何時觸發新 RCF(而非版本迭代)

  • 修訂涉及「核心決策方向反轉」(如 RCF-031 v1.1 技術棧 GAS→Vercel 屬「實作策略修訂」非「方案 A→B 反轉」,仍屬內部迭代)
  • 修訂衍生影響其他 SKILL / HARD STOP / 部門結構 → 衍生 RCF(如 RCF-031 v1.1 若需修 SKILL 即觸發 RCF-033,本次不需)

v1.3 上限後的處理

若單一 RCF 達 v1.3 仍需修訂 → 建立新 RCF-XXX-successor.md 並在原 RCF 標注「已由 RCF-XXX-successor 替代」

← 返回 決策記錄