30c9312c57
leo 2026-08-15:「我是說不是要用真實的資料夾套新規範做一次?」 對 matrix/arcrun/docs 的兩個節點做了真的萃取(不是模擬): · docs/ 5 篇原稿 → 5 文件卡 + 9 概念卡 + 1 主題(結構性閘) · user_requirements/ 4 篇 → 2 文件卡 + 7 概念卡 + 1 主題(讓生態自己長) 踩到並如實處理的四個邊緣案例: ① arcrun-landing-page/ 只有 .jsx/.html/.css ⇒ 依規範不是節點,不建 .wiki(index 說明有寫) ② credential_parts.md 29KB、12 個 H2,超過 20KB 分段門檻 ⇒ 只萃 §0–§2,其餘八段在文件卡上如實標明未做——一張卡蓋不住 29KB ③ wishlist.md 是「空」的第三種:指針檔(不是沒東西、不是紀錄) ⇒ 標 no_concept 不產卡。我第一版給它產了卡,wiki-lint 當場報孤島卡抓到 ④ 三個子節點未萃,在 index 標「未萃」——標出來使用者才分得出「沒東西」和「還沒做」 並依 leo 的判準拿掉 type 欄位: 「在這個類似 Logseq 的結構裡根本不分,你要想的是在寫函式時是否不同」 逐一檢查 place_card/patch_card/promote_hub/split_hub/渲染/三個信號/lint ——沒有任何函式需要類型欄位,需要的全是結構屬性(有無父/有無子/有無判斷), 而那三個都是現算的。⇒ type: hub 與 hub_kind 拿掉,wiki-lint 改成用算的。 promote_hub 因此不是改型別,是在有子的卡上補一段判斷,型別自己就變了。 實測:docs 樹 節點 2|卡片 27|卡外邊 62,十五項全 0,退出碼 0 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
tags, gloss, created, updated
| tags | gloss | created | updated | ||
|---|---|---|---|---|---|
|
做四個 TinyGo/WASM primitive,每個服務只要一份 YAML recipe + 用戶自己的 secret。 | 2026-05-25 | 2026-08-15 |
四個 primitive 不是每服務一個零件
摘要
credential 設計的核心主張。它是三層模型:primitive(程式)/recipe(公共設定)/secret(私有)。
重點
- 四個 primitive 涵蓋所有認證方式,不隨服務數量成長
- recipe 存平台 KV(公共)、secret 存 tenant KV(私有),runtime 由 AuthBroker 組裝
- 它明確反對 n8n 的每服務一零件
- ⚠️ 本卡只涵蓋這份 29KB 文件的 §0–§2;
§3 四個 primitive 詳細規格、§4 Recipe Schema等尚未分段萃取
實體
- primitive(零件)— TinyGo/WASM 寫的認證原語,共四個。
- recipe(設定)— 每服務一份 YAML,存公共 KV。
- AuthBroker(組裝者)— runtime 把 recipe 與 secret 組成可用的 HTTP client。
關聯
內文知識關係
- primitive >> 加上 >> recipe 與 secret
- AuthBroker >> 組裝 >> 可用的 HTTP client
- recipe >> 存於 >> 公共 KV
- secret >> 存於 >> tenant KV
卡片關係
- 四個 primitive 不是每服務一個零件 >> 反的是 >> n8n 的每服務一零件
- 四個 primitive 不是每服務一個零件 >> 屬於 >> credential_parts
出處(原文 >> 提及 >> 本卡,可多筆)
../credential_parts.md>> 提及 >> 四個 primitive 不是每服務一個零件