Files
Arcrun/docs/user_requirements/.wiki/四個 primitive 不是每服務一個零件.md
T
uncle6me-web 30c9312c57 wiki: 拿真實的 docs/ 套新規範跑一次(27 張卡,兩個節點)
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>
2026-08-15 13:47:27 +08:00

1.5 KiB
Raw Blame History

tags, gloss, created, updated
tags gloss created updated
credential
架構
做四個 TinyGo/WASM primitive,每個服務只要一份 YAML recipe 用戶自己的 secret。 2026-05-25 2026-08-15

四個 primitive 不是每服務一個零件

credential_parts

摘要

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

卡片關係

出處(原文 >> 提及 >> 本卡,可多筆)

  • ../credential_parts.md >> 提及 >> 四個 primitive 不是每服務一個零件