RCF-037:知識庫系統優化(Hook 雜訊排除 + 時效管理確認 + 深讀報告擴充)
建立日期:2026-05-06(Session 132) 觸發條件:條件 5 — 影響 2+ 技術系統的架構決策(knowledge-hook.py + system-deep-review.md + inventory.json + enrich-knowledge-base.py 確認) RCF 類型:架構優化決策
一、背景問題
Tim 詢問「知識庫與連動的系統、工具,有什麼可以加強、優化的地方」,Claude 執行四層健康評估(Karpathy LLM Wiki framework:compile/query/lint/log),發現以下三個主要問題:
Hook 搜尋雜訊:
knowledge-hook.py的rglob("*.md")掃描包含decisions/RCF-*.md(35+個)。搜尋「知識庫」等常見詞時,大量 RCF 條目出現,淹沒真正有價值的references/+methodology/+analyses/知識內容。時效管理實作確認:
system-deep-review.md(建立 2026-04-17)標注⏰ 知識時效自動標記(近期開發中),需確認是否已實作。深讀報告缺口:
system-deep-review.md僅涵蓋 SYS-01~08(8 個系統),SYS-09(財務)和 SYS-10(LINE Bot)於 2026-04 底/5 月初加入後未被納入;friday-picks.py和knowledge-hook.py被標記為「⚠️ 用途未知」長達 19 天。
二、方案評估
問題 1:Hook 雜訊排除
| 方案 | 優點 | 缺點 | 選擇 |
|---|---|---|---|
A:完全排除 decisions/ 資料夾 |
完全消除 RCF 噪音 | 排除 001~013 等非 RCF 決策文件 | ❌ |
B:排除 decisions/RCF- 前綴 |
精確排除 RCF 文件,保留其他決策 | 需維護路徑前綴清單 | ✅ 選擇 |
| C:不排除,靠 MIN_SCORE 自然過濾 | 無需修改 | 高頻詞(知識庫/Claude)還是會帶出大量 RCF | ❌ |
決策:方案 B — 新增 EXCLUDE_PATH_PREFIXES = ("decisions/RCF-",) + 搜尋迴圈加入路徑前綴篩選。
問題 2:時效管理
確認結論:enrich-knowledge-base.py L311-314 已實作:
if is_stale(e["date"]) and e["enriched_title"]:
title = "⏰ " + title
is_stale() 判斷超過 180 天的已豐富化條目,自動加 ⏰ 前綴。sync-knowledge-base.yml L67 的 STALE=$(grep -rh "^## ⏰" ...) 計數邏輯亦對應正確。
結論:此功能已完整實作,system-deep-review.md「近期開發中」標注為過時資訊,本次一併修正。
問題 3:深讀報告擴充
方案:直接補入 SYS-09/SYS-10 到 system-deep-review.md 的所有相關章節(系統表、env 矩陣、高風險依賴、scripts 清單、七日清單),並修正 friday-picks.py/knowledge-hook.py 的「用途未知」標注。
三、執行動作
| 動作 | 檔案 | 變更說明 |
|---|---|---|
| 知識庫 knowledge-hook.py | scripts/knowledge-hook.py |
新增 EXCLUDE_PATH_PREFIXES = ("decisions/RCF-",) + 搜尋迴圈 L162 加路徑篩選(4 行) |
| 確認 enrich-knowledge-base.py | 無修改 | 確認 L311-314 ⏰ 已實作 |
| 更新 inventory.json | hr/inventory.json |
SYS-08 health_score 4→5,last_updated 2026-04-28→2026-05-06 |
| 擴充 system-deep-review.md | reports/system-deep-review.md |
新增 SYS-09/SYS-10 系統表 + env 矩陣補 2 欄 + 高風險依賴修正 + scripts 清單補完 + 七日清單 [x] + 頁尾更新 |
| 確認 LINE_ADMIN_USER_ID | GitHub Secrets | 已於 2026-04-13 設定,週五精選推播無需額外操作 |
四、理由(為什麼這樣選)
- EXCLUDE_PATH_PREFIXES 路徑前綴(而非 EXCLUDE_FILES 檔名):因為 RCF 文件有 35+ 個,不可能逐一加入 EXCLUDE_FILES set;路徑前綴方案一勞永逸,新建 RCF 自動排除。
- 只排除 RCF,不排除整個 decisions/:
decisions/001~013包含架構決策(如財務系統選型、多 Session 框架),這些在策略分析類問題時有參考價值,不應排除。 - inventory.json health_score 4→5:知識庫網站功能完整(Next.js 讀取 knowledge/,Vercel 正常,verified 2026-04-30),pending_tasks 為空;4 分的原因是舊值未更新,本次確認後提升為 5。
五、後續觀察
knowledge-hook.py排除 RCF 後,Hook 搜尋結果信噪比改善程度:預期下次涉及「知識庫」相關任務時,注入條目以 references/ + analyses/ 為主,RCF 不再出現。整理知識庫SKILL Step 7.5 lint 首次執行:本次 Session 132 觸發,結果見 Step 6 執行輸出。system-deep-review.md下次完整更新:建議 Tim 說「系統深讀」時執行全系統讀取更新(目前為 2026-04-17 原始讀取,多項狀態已變更)。