# KBDB-graph 抽出 — Tasks > 唯一進度來源,不靠對話記憶。完成即時更新。 > 狀態:[ ] 未開始 [🔄] 進行中 [x] 完成 [⏸] 卡住/待確認 --- ## R-EXT-1 確認邊界 - [x] 1.1 inventory:列出現有 actions/routes/migrations/contracts(2026-06-14 完成,見 design.md) - [x] 1.2 初步分類:插件 / 基本盤 / 灰色地帶(2026-06-14,見 design.md 邊界分類表) - [x] 1.3 灰色地帶 grep 調查:證實插件 action 層零耦合、耦合只在 DB 層;逐檔附證據歸屬(2026-06-14,見 design.md 灰色地帶結論)。⚠️ 0005/0007 歸屬與 HANDOFF 有出入,仍需與 arcrun 對齊(屬 1.4) - [x] 1.4a 讀 arcrun 端真身對齊(2026-06-14):**發現 arcrun/kbdb 還是 v2(entries,無 blocks/0005/0007/block-crud),且兩 repo 是不同 D1 庫**。v3 基本盤真身其實在本目錄。見 design.md「全局核對發現」 - [x] 1.4b 前置議題**總管已答覆**(leo 2026-06-14):→ `InkStoneCo/docs/3-specs/matrix-rearrange/DECISION-kbdb-v3-baseplane.md`。三問消解:基本盤已在 arcrun/kbdb 且設計正確、掛載走 API(非共用 D1)、插件零 migration。**阻擋解除。** - [x] 1.4c 不需移交/升級 arcrun——基本盤已正確。插件改寫成走 API 即可(見 R-EXT-4) - [x] 1.5 裁剪 CLAUDE.md:移除基本盤 v3 規範,只留 graph 插件 + 鐵律 + 安裝契約(2026-06-14) - [x] 1.6 清掉殘留:`blocks.ts.bak`、`ruvector.db`×2、`finally.click`、`.swarm`(2026-06-14) ## R-EXT-3 定義掛載介面(已定案 2026-06-14) - [x] 3.1 確認基本盤 API 契約(讀 arcrun/kbdb src,見 design.md「基本盤 API 契約」表) - [x] 3.2 掛載方式定案:**API-as-Wall**(HTTP API,非共用 D1、非 VIEW、非附加表)。圖在插件層記憶體組裝 - [x] 3.3 寫進 design.md 定稿(「掛載介面 = 基本盤 API」節) ## R-EXT-4 改寫成走 API(核心,2026-06-14 新增) > 鐵律:插件零建表、零 migration、零 SQL,只用 API/CLI/MCP。 - [x] 4.1 `src/lib/kbdb-client.ts`:封裝基本盤 HTTP API,指向 `KBDB_BASE_URL`。零 `.prepare`(2026-06-14) - [x] 4.2 wrangler.toml:移除 D1/Vectorize/AI 綁定,加 `KBDB_BASE_URL` var(留空,安裝時 AI 填) - [x] 4.3 改寫 `triplet-crud`(拆 triplet-cluster):create/query/get → API - [x] 4.4 改寫 `triplet-extract`/`triplet-entities`/`triplet-stats`/`triplet-update`/`triplet-embed` → API/薄殼 - [x] 4.5 改寫 `graph-{nodes,path,traverse}`:取 triplet records → 插件層記憶體組圖 - [x] 4.6 改寫 `entity-{crud,normalize,graph-embed}` + 拆 `entity-pending`:template='entity',無 vectorize 降級 exact - [x] 4.7 改寫 `search-query`(→keywordSearch)/`search-suggest`/`search-embed`(stub):keyword;語意標 `[→arcrun embed]` - [x] 4.8 刪所有 migrations + 清基本盤 action/route(block-*/entry-crud/record-crud/tag/profile/admin/partner/convert/tasks/personality) - [x] 4.9 測試改走 `tests/mock-client.ts`(10 passed);base 缺口(PUT/DELETE record、vectorize)標 `[→arcrun]` ## R-EXT-2 獨立成 repo(2026-06-14 完成) - [x] 2.2 `.gitignore`(排除 *.db/.env/.dev.vars/node_modules/.wrangler/.bak/.swarm)+ `git init` - [x] 2.3 首次 commit + 推 GitHub:**public repo `uncle6me-web/kbdb-graph-plugin`**(無 .github/workflows,符合不開 Actions) - [x] 2.4 部署機制:`scripts/install.sh`(安裝時 AI 查 subdomain 拼 base URL → `wrangler secret put` → `wrangler deploy`)。**實際部署待基本盤 arcrun-kbdb 上線後跑 install.sh** ## 部署現況(leo 2026-06-14 定) - `KBDB_BASE_URL` 不寫死 toml、不叫人填 → 安裝時 AI 自動算(`https://arcrun-kbdb..workers.dev`)。 - 現在不空跑部署(避免上線一個打不到基本盤的殼)。基本盤就緒後跑 `scripts/install.sh` 一次到位。 - build 已驗證(`wrangler deploy --dry-run` 通過,bundle 無 D1/AI/Vectorize 綁定)。 ## R-EXT-2 獨立成 repo(最後做,依賴 1.4/1.5 完成) - [x] 2.1 GitHub 帳號 + repo 名:**leo 拍板 = 新 repo `uncle6me-web/kbdb-graph-plugin`**(2026-06-14) - [ ] 2.2 `git init` + `.gitignore`(排除 ruvector.db、.env、node_modules、.wrangler、*.bak) - [ ] 2.3 設 remote、首次 commit、推 GitHub(本 CC 自己推,不經總管) - [ ] 2.4 部署驗證:wrangler 直推 CF,確認不開 Actions --- ## 阻擋項彙整(更新 2026-06-14) 1. ✅ repo 已定:`uncle6me-web/kbdb-graph-plugin`(解除 2.1) 2. ✅ 灰色地帶已 grep 調查完,附證據建議(解除 1.3) 3. ⏸ **前置議題(讀 arcrun 後升級為主阻擋)**:arcrun/kbdb 還是 v2、與插件不同 D1 庫。三問待 leo/arcrun 定案: - (1) v3 基本盤(blocks/0005/0007/block-crud)由誰、怎麼進 arcrun?(arcrun 升 v3 vs 本目錄整理好再交) - (2) 掛載形態:共用同一 D1(需合庫)還是插件透過基本盤 **API** 取 block(不共用 D1)? - (3) `0005_universal_table` 歸基本盤(它定義 entry_values)——與 HANDOFF 列為插件矛盾,需 arcrun 確認。 ## 注意 - arcrun 端對應交棒:`arcrun docs/HANDOFF-matrix-rearrange.md §2`,移交基本盤前先與其對齊。 - 在 2.2 git init 前,本目錄無版控 → 搬檔用 `mv` 不是 `git mv`。