27f7448914
對應 issue #1 T3 B 段。 - templates: TRIPLET_SLOTS 加 status/superseded_by/source_uri/content_hash; ENTITY_SLOTS 加 gloss;recordToTriplet 映射新欄位(缺省 status=active 相容舊資料) - kbdb-client: ensureTemplate 改 slot-diff 補丁(既有 template 走 PATCH /templates/:id 補缺 slot,取代 early-return → 免遷移腳本);新增 updateRecord(PATCH /records/:id) - triplet-ingest action(88 行純函式):Zod strict 鏡射 ingest-candidate 契約 → idempotency(uri+hash 同→no-op)→ 先 append 後 deprecate(無「全無 active」空窗) - POST /triplets/ingest route:strict 驗證失敗 → 422(禁送 graph 領域欄位) - queryTriplets 預設 active-only(traverse/search/neighbors 皆經此), includeDeprecated opt-out 供 rollback/考古 - 6 測試案全綠(vitest 16 passed);mock-client 同步 slot-diff + updateRecord gates: zero SQL / zero migration / 無 D1·Vectorize·AI 綁定 / dry-run bundle 乾淨 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
文件分類索引
CC 整理文件時的分類依據。找不到分類就問,不要猜。
分類規則
| 目錄 | 放什麼 | 判斷標準 |
|---|---|---|
| 1-vision/ | 為什麼做這個 | 產品願景、北極星、設計哲學 |
| 2-architecture/ | 系統怎麼設計的 | 架構圖、技術棧、元件關係 |
| 2-architecture/decisions/ | 為什麼這樣設計 | ADR,選A不選B的原因 |
| 3-specs/ | 要做什麼 | SDD,每個子系統一個目錄 |
| 4-guides/ | 怎麼做 | 部署、開發流程、CLI 用法 |
| 5-records/ | 發生過什麼 | 歷史記錄,不修改只增加 |
| 5-records/incidents/ | 生產問題復盤 | 故障原因、時間線、改進方案 |
| 5-records/test-reports/ | 測試結果 | 壓測報告、驗收記錄 |
| 6-user/ | 給使用者看的 | README、安裝教學、FAQ |
CC 整理文件時的判斷流程
這個文件是...
├── 有明確子系統 + 設計內容? → docs/3-specs/[子系統]/
├── 解釋為什麼做某個決定? → docs/2-architecture/decisions/
├── 說明怎麼操作? → docs/4-guides/
├── 記錄發生過的事? → docs/5-records/
├── 給外部使用者看的? → docs/6-user/
└── 以上都不確定? → 列為「待確認」,問負責人
SDD 結構(docs/3-specs/ 下每個子系統)
docs/3-specs/[子系統名]/
├── design.md ← 設計文件(要做什麼、怎麼做、邊界在哪)
└── tasks.md ← 任務清單([ ] 未開始 [🔄] 進行中 [x] 完成)
CC 動手前必須有這兩個檔案。找不到就停手。
.claude/wiki/ — CC 的記憶空間(CC 維護,人不手動編輯)
| 檔案 | 用途 | 更新時機 |
|---|---|---|
INDEX.md |
wiki 導引 | 新增 wiki 檔案時 |
mistakes.md |
CC 已知誤解 + 避坑 | 每次被糾正後 |
status.md |
當前進度 + 下一步 | 每次 session 結束 |
decisions-summary.md |
架構決策摘要 | 重大決策後 |