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

45 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags: [credential, 架構]
gloss: 做四個 TinyGo/WASM primitive,每個服務只要一份 YAML recipe 用戶自己的 secret。
created: 2026-05-25
updated: 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
### 卡片關係
- 四個 primitive 不是每服務一個零件 >> 反的是 >> [[n8n 的每服務一零件]]
- 四個 primitive 不是每服務一個零件 >> 屬於 >> [[credential_parts]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../credential_parts.md` >> 提及 >> 四個 primitive 不是每服務一個零件