3d3973ecbc
leo 08-12:「我要的是寫進 KBDB,不是 KV,他的 Recipes、Cypher 是一段話,文字,
數據,一個 entry」「如果零件和工作流的 recipe 不見了,是很可怕的事情」。
同日實害:一次例行更新讓九支工作流在畫面上全部消失。#97 已修掉直接原因
(別再照名字猜使用者的資源、別再擅自新建一顆空的綁上去);這裡修更下面那一句——
**資產本來就不該只存在於一個會被換掉的暫存層裡**。
做法(換 binding,不改四十幾處呼叫端):
- lib/asset-keys.ts 哪些 KV key 是資產、對應 KBDB 哪一列。**唯一**要人看懂的那張表。
- lib/durable-store.ts 讀=KV 先行、miss 回源 KBDB 並補快取;寫=先 KBDB 再 KV,
KBDB 失敗就拋錯(禁假綠);**列舉一律回源**——空 KV 列出來是
「零筆」而不是「查不到」,那正是東西消失的形狀。
- index.ts 入口把 WEBHOOKS/RECIPES 換成上面那層。逐處改寫一定會漏,
而漏掉的那一處就是下一次「東西不見了」的入口。
- routes/storage.ts /storage/audit(搬前搬後各數一次)+ /storage/migrate-to-kbdb
(只增不刪、冪等、逐筆回報成敗)。
- kbdb migration 0005 seed 四列 template(零 schema 異動,手法同 0003/0004)
+ PUT /entries/:id 指定 id 的整列 upsert(通用原語,不是為誰開特例)。
- 衍生資料(idx:*、cron-idx:_all)不進 KBDB,讀不到就從資產重算。
⚠️ 狀態=◐ 半通,**別因為程式碼看起來完整就先合併**。
已實測:5 份 migration 在本機 D1 全數套用(含 0005);兩顆 worker 都能以改動後的
程式碼在本機開起來;tsc 錯誤數 7→7(既有,未新增)。
**沒跑到**:「砍掉 KV、資產還在」那一次端到端驗證——本次施工環境的權限閘不放行
執行 vitest/node/curl。那一次已寫成 scripts/verify-kv-retirement.sh,
在能執行的機器上跑一次就是證據。建議順序:先跑腳本、綠了再合併。
規格層依 D35 走 pending-changes.md「P-KV」提案,等 leo confirm(現行 active SDD
是 workflow-discovery,本案不在它的 tasks 內,故不自建 SDD、不改 rules 那張儲存表)。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Arcrun 文件分類索引
LLM Wiki 結構:長期記憶系統,防止決策遺忘和重複錯誤。 參考:Andrej Karpathy — A Closer Look at How LLMs Remember
分類規則
| 目錄 | 用途 | 例子 |
|---|---|---|
| 1-vision/ | 「為什麼」:設計哲學、核心價值、前瞻方向 | arcrun 優勢、Haiku 就能搞定、薄殼原則 |
| 2-architecture/ | 「是什麼」:系統設計、技術棧、組件關係 | MVP 架構、零件模型、KV 存儲方案 |
| 2-architecture/decisions/ | 架構關鍵決策和 trade-off | Service binding 為什麼廢、R2 只用 Phase 5、同 zone 1042 解法 |
| 3-specs/ | 需求和 SDD:設計文件、任務清單 | (從 .agents/specs/ 搬來) |
| 4-guides/ | 操作手冊:如何做、工作流程 | 部署流程、CLI 用法、壓測方法 |
| 5-records/ | 日誌和證據:事件、測試、決策履歷 | Incident、壓測報告、問題追蹤 |
| 5-records/incidents/ | 生產問題復盤:故障原因、改進方案 | 2026-05-13 同 zone 1042、2026-06-06 MCP route bug |
| 5-records/test-reports/ | 壓測結果、驗收報告 | 2026-06-07 公庫上線測試、2026-06-08 Haiku 乾淨重測 |
| 6-user/ | 對外文件:README、教程、FAQ | self-hosted 安裝、開發者指南 |
.claude/wiki/ — LLM 本機記憶
| 檔案 | 用途 | 更新頻率 |
|---|---|---|
| INDEX.md | wiki 目錄和導引 | 每次新增 |
| mistakes.md | CC(我)常犯的錯 + 避坑方法 | 每次踩坑後 |
| status.md | 當前進度、已知問題、下一步 | 每次 session 結束 |
| decisions-summary.md | 架構決策快速參考(不是全文,是摘要 + 連結) | 每次大決策後 |
| modules/[name].md | 關鍵模組說明:職責、入口、常見誤解 | 不定期補充 |
檔案遷移計畫
| 當前位置 | 新位置 | 優先級 |
|---|---|---|
| 根目錄 .md(除 README/CLAUDE) | → docs/ 分類 | 高 |
| .agents/specs/ | → docs/3-specs/ | 高 |
| .claude/rules/ | → docs/2-architecture/ + wiki | 中 |
| docs/incidents/ | → docs/5-records/incidents/ | 中 |
| 壓測報告 | → docs/5-records/test-reports/ | 中 |
下一步
所有檔案整理進此結構後,wiki 將作為 CC 和任何 LLM 的長期記憶入口。