Files
kbdb-graph-plugin/system-dev/wiki/status.md
T
Leo 01f131a7a2 docs(wiki): /wiki-update — 補 T3(PR#2) + 補對齊(PR#3) 歷史 + 1 mistake
main 的 status.md 之前停在 2026-06-14(PR#2 squash 只搬檔未帶 wiki 內容更新)。
補齊三段歷史 + 更新現狀(兩 PR 已 merge、本 repo 無剩餘 task、三項跨 repo 待接)。
mistakes 記:補對齊/功能 PR 別混 template 基建遷移(PR#3 撞衝突的教訓)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 20:35:34 +08:00

6.1 KiB
Raw Blame History

當前狀態

更新時間:2026-06-26 每次 session 結束必須更新此檔(用 /wiki-update)。


最新(2026-06-26issue #1 補對齊 — receiver Zod 追上 contractPR #3 已 merge

PR #3 已 merge 進 maincommit 13db97b)。對應 issue #1 總管補對齊 comment。

起因(契約漂移)T3 的 strict Zod 鏡射【當時】contractcontract 之後升格(ingest#1 向量化規範)加打標欄位 → ingest 照新 contract 送會被 .strict() 擋 422。總管裁定方向 Agraph 追上 contractcontract 是凍結單一真相源,實作追它)。

完成:

  1. contracts/ingest-candidate.json 副本同步到頂層單一真相源(InkStoneCo/system-dev/docs/3-specs/mira-dissolve/)。
  2. Zod 加契約合法新欄位(保留 .strict()):NodeSchema+id?/aliases?/embed?EdgeSchema+predicate_embed?
  3. 落地(向量化分工:ingest 打標、base 讀標執行、graph 不算向量):predicate_embed 透傳進 triplet slotnode 打標(embed/gloss/aliases)存進 entity slotid 作 node 去重鍵(同卡多邊只一筆)。persistNodes 拆獨立 actionsrc/actions/node-persist.ts)。
  4. 測試 +4:帶向量化欄位【通過】、bridge_score/clusters 仍【422】、同 id 去重。

新增 plugin slot(非改表、非改 contract):triplet predicate_embedentity embed/node_id。 驗證:vitest run 23 passed;零 SQL / 無 D1·Vectorize·AIdry-run 乾淨;action ≤100 行。

過程教訓(已記 mistakesPR#3 初版從 PR#2 merge 前切 → 混進 PR#2 已做的 template 1.9.x 遷移 40 檔 → 撞 main 衝突。解法=從最新 main 重切、只 cherry-pick 補對齊那筆 code commit、瘦身後 force-push。補對齊/功能 PR 別混 template 基建遷移。


前一筆(2026-06-26issue #1 T3 — ingest 寫入端 + graph 端 APIPR #2 已 merge

PR #2 已 mergecommit 7a29deesquash)。

完成:

  1. wiki 合併:舊 .claude/wiki/system-dev/wiki/(導入 system-dev-template)。
  2. ingest-contract SDDdocs/3-specs/ingest-contract/+ 搬入 contracts/ingest-candidate.jsonT3.1/3.8)。
  3. 寫入端 + 取代T3.23.5):POST /triplets/ingest、ensureTemplate slot-diff 補丁、updateRecord、idempotency、先 append 後 deprecate、active-only 查詢。
  4. get_source + refreshT3.6/3.7):GET /graph/source/:namePOST /graph/refresh(純被動代轉,未設 KBDB_INGEST_URL 時誠實回 forwarded:false)、keyword 收斂(3.6d)。

驗證:vitest run 19 passedmock);zero SQL / 無 D1·Vectorize·AIdry-run 乾淨;action ≤100 行。

註:base PATCH /records/:id 已就緒(Arcrun #6 closed),ingest deprecate 即用此。


已完成(2026-06-14:按 leo 鐵律全面改寫 + 獨立成 repo)

HANDOFF 5 項待辦全做完:

  1. 改寫成走基本盤 API(核心):21 個違規直接 SQL action 全改走 src/lib/kbdb-client.ts。寫 triplet=POST /records(template=triplet);查圖=取 triplet records 在插件層記憶體組鄰接表跑演算法(不靠 DB VIEW)。entity 正規化降級 exact match。
  2. 刪所有 migrations(插件零建表)+ 清基本盤 action/routeblock-*/entry-crud/record-crud/tag/profile/admin/partner/convert/tasks/personality)。
  3. 獨立成 repogit init + 推 public uncle6me-web/kbdb-graph-plugin(無 Actions)。
  4. 裁剪 CLAUDE.md:移除 KBDB v3 基本盤規範,只留 graph 插件 + 🔒 鐵律 + 安裝契約。
  5. 部署繞開 GitHubscripts/install.shwrangler 直推),無 .github/workflows。

驗證:wrangler deploy --dry-run 通過(bundle 無 D1/AI/Vectorize);vitest run 10 passedmock client);全違規掃描零命中;所有 action ≤100 行。

同場修正的 SDD 錯誤判斷

design.md 原本「讀現狀(21 個直接 SQL)推翻鐵律、問要不要共用 D1」是讀違規現狀推翻規則的錯。已改正為 API-as-Wall(走 API,非共用 D1,零建表/零 SQL),並記進 mistakes.md。

正在做 / 阻擋

  • PR #2T3)、PR #3(補對齊)皆已 merge 進 main。graph repo 端實作面收斂,本 repo 無剩餘可單獨做的 task
  • [🔄] 剩三項皆「不在 graph 手上」,等跨 repo 接通 / 部署(見下)。

下次 session 第一件事

main 已含 T3 + 補對齊。本 repo 端無待辦——下次動工多半是新交辦跨 repo 接通就緒後接 MCP 薄殼。 若要實際部署:等基本盤 arcrun-kbdb 上線有網址後跑 bash scripts/install.sh(自動查 CF subdomain 拼 KBDB_BASE_URL → secret → deploy)。現不空跑(避免上線打不到基本盤的殼)。

待負責人確認 / 跨 repo 接通(全通才結 issue #1

  • MCP 註冊薄殼 — 圖工具(traverse/neighbors/source/refresh)併入 arcrun u6u-mcp-server。等:總管協調 arcrun不另起 graph MCP;待 Arcrun #7 部署驗。graph 端 HTTP API 已備好。
  • refresh 端到端 — 等:ingest repoT4)部署 + 設 KBDB_INGEST_URL;未設時誠實回 forwarded:false
  • semantic normalize — 仍 exact-only,留接口;等:base embedArcrun #7code done 待部署)。補對齊已把向量化打標(embed/predicate_embed/gloss/aliases)落地進 slot 供 base 讀base 模組就緒即可接。

已知缺口([→arcrun],待基本盤補)

  • base PATCH /records/:id 已就緒(Arcrun #6 closed);但 base 仍無 DELETE /records/:id → triplet/entity delete、pending confirm/reject 為 soft(不硬刪)。
  • 語意搜尋 / embedding 屬基本盤 optional embed 模組,插件只做 keyword/exactgraph 不算向量,鐵律)。
  • arcrun 端 MCP/CLI 的 KBDB 薄殼仍待補;插件目前直打基本盤 HTTP API。