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>
This commit is contained in:
uncle6me-web
2026-08-15 13:47:27 +08:00
parent 1616517ace
commit 30c9312c57
28 changed files with 1131 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
# 00-INDEXuser_requirements
`../../.wiki/00-INDEX.md`
## 子節點
- **ADR-lib-and-landingPage** → `../ADR-lib-and-landingPage/.wiki/00-INDEX.md` — 3 篇(未萃)
- **simplify_mvp** → `../simplify_mvp/.wiki/00-INDEX.md` — 1 篇(未萃)
- **u6u-long-term** → `../u6u-long-term/.wiki/00-INDEX.md` — 1 篇+子節點 SourceDocs 3 篇(未萃)
## 文件(本層每一篇一張)
- [[credential_parts]] — 29KB 的 credential 規格,本次只萃了 §0–§2,其餘尚未分段。
`#文件 #credential` 建 2026-05-25 更 2026-08-15
- [[u6u_design]] — 一份兩千字的設計筆記,密度很高,萃出五個概念。
`#文件 #設計` 建 2026-05-20 更 2026-08-15
- `../wishlist.md`**空**:指針檔,全文都在說「已移至頂層」。真身在 `InkStoneCo/docs/1-vision/product-wishlist.md`
## 主題(跨文件聚類產生)
- [[讓生態自己長]] — u6u 對「零件從哪來、誰把關、爛的怎麼淘汰」的整套答案:三件事互相咬合。
`#生態 #零件 #方法論` 建 2026-05-20 更 2026-08-15
## 本層概念(7
- [[AI 的 marketplace]] — marketplace 給 AI 不給人:強制用完回評價,被評差的零件其他 AI 自動避開。
`#生態 #零件` 建 2026-05-20 更 2026-08-15
- [[n8n 的每服務一零件]] — n8n 為每個服務寫一個 credential 零件——這份文件開宗明義說那是錯的。
`#credential #反模式` 建 2026-05-25 更 2026-08-15
- [[四個 primitive 不是每服務一個零件]] — 做四個 TinyGo/WASM primitive,每個服務只要一份 YAML recipe 用戶自己的 secret。
`#credential #架構` 建 2026-05-25 更 2026-08-15
- [[自動審核取代人工]] — call API 的只要 call 通就過,功能性的只要通過它自己設的 Gherkin 就過。
`#流程 #零件` 建 2026-05-20 更 2026-08-15
- [[視覺優先開發]] — 用戶拉一個按鈕,後面自然綁上 webhook——不用解釋 webhook 是什麼。
`#產品 #介面` 建 2026-05-20 更 2026-08-15
- [[解釋 webhook 的困難]] — 要跟一般用戶解釋什麼是 webhook 很難——這是低門檻產品真正的門檻。
`#產品 #介面` 建 2026-05-20 更 2026-08-15
- [[零件長尾誰來補]] — 沒有人會為了 delete table 去寫完整的 Google Sheets 零件——但缺的那個端點會被下一個需要的人補上。
`#生態 #零件` 建 2026-05-20 更 2026-08-15
## 說明
> 上面四節是機器讀的;說明寫這裡,不要用連結語法。
>
> 🔴 **`arcrun-landing-page/` 沒有出現在子節點清單裡,這是對的**——
> 它只有 `.jsx``.html``.css`**沒有可掃文件 ⇒ 依規範不是節點**。
>
> 🔴 **三個子節點標「未萃」是誠實的殘缺**:本次真實測試只做了 `docs/` 與本層兩個節點。
> 標出來,使用者才分得出「沒東西」和「還沒做」。
>
> 🔴 **`wishlist.md` 是「空」的第三種**:不是沒東西(待辦)、不是紀錄(報價單),是**指針**。
> 依規範標 `no_concept` **不產卡**——我第一版給它產了卡,`wiki-lint` 當場報孤島卡抓到。
>
> 🔴 **`credential_parts.md` 是 29KB、12 個 H2**,超過 20KB 分段門檻。
> 本次只萃了 §0–§2,其餘八段**如實標明未做**——一張卡蓋不住 29KB。
@@ -0,0 +1,42 @@
---
tags: [生態, 零件]
gloss: marketplace 給 AI 不給人:強制用完回評價,被評差的零件其他 AI 自動避開。
created: 2026-05-20
updated: 2026-08-15
---
# AI 的 marketplace
← [[u6u_design]]
## 摘要
u6u 的零件市集設計。它跟一般 marketplace 的差別在使用者是 AI,所以回饋可以被強制。
## 重點
- **強制回評價**——AI 不像人會忘記或懶得評
- **被評差幾次的零件,其他 AI 自動避開** ⇒ 淘汰不需要人介入
- 它配的是 [[自動審核取代人工]],兩者合起來讓 [[零件長尾誰來補]] 有解
## 實體
- **AI marketplace**(機制)— 使用者是 AI 的零件市集,回饋可強制。
- **自然淘汰**(效果)— 差評零件被自動避開。
## 關聯
### 內文知識關係
- AI >> 被強制 >> 回覆評價
- 低評零件 >> 被 >> 其他 AI 避開
### 卡片關係
- AI 的 marketplace >> 屬於 >> [[u6u_design]]
- AI 的 marketplace >> 屬於 >> [[讓生態自己長]]
- AI 的 marketplace >> 機制是 >> [[自動審核取代人工]]
- AI 的 marketplace >> 解的是 >> [[零件長尾誰來補]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../u6u_design.md` >> 提及 >> AI 的 marketplace
@@ -0,0 +1,34 @@
---
tags: [文件, credential]
gloss: 29KB 的 credential 規格,本次只萃了 §0–§2,其餘尚未分段。
created: 2026-05-25
updated: 2026-08-15
---
# credential_parts
← [[00-INDEX]]
## 摘要
這份文件超過本規範的 20KB 分段門檻,共 12 個 H2 段落。本次示範「只萃前段、其餘誠實標明未做」。
## 重點
- 已萃:[[四個 primitive 不是每服務一個零件]]、[[n8n 的每服務一零件]](來自 §0 TL;DR 與 §12
- 🔴 **未萃**:§3 四個 primitive 詳細規格/§4 Recipe Schema/§5 繼承/§6 WASM 介面/§7 AuthBroker API/§8 Storage/§9 授權 UI/§10 TODO/§11 風險
- **這正是「大檔要按 H2 分段」那個洞的實例**——一張卡蓋不住 29KB
## 實體
- **credential_parts**(原稿)— 本卡對應的那一份文件。
## 關聯
### 卡片關係
- credential_parts >> 涵蓋 >> [[n8n 的每服務一零件]]
- credential_parts >> 涵蓋 >> [[四個 primitive 不是每服務一個零件]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../credential_parts.md` >> 提及 >> credential_parts
@@ -0,0 +1,37 @@
---
tags: [credential, 反模式]
gloss: n8n 為每個服務寫一個 credential 零件——這份文件開宗明義說那是錯的。
created: 2026-05-25
updated: 2026-08-15
---
# n8n 的每服務一零件
← [[credential_parts]]
## 摘要
被點名的反模式。它的問題是零件數量隨服務數量線性成長,而認證方式其實只有幾種。
## 重點
- **零件數 ∝ 服務數**,但認證方式其實只有四種
- ⇒ 正解是 [[四個 primitive 不是每服務一個零件]]
## 實體
- **每服務一零件**(反模式)— n8n 的 credential 做法。
## 關聯
### 內文知識關係
- 零件數 >> 隨服務數 >> 線性成長
### 卡片關係
- n8n 的每服務一零件 >> 否定 >> [[四個 primitive 不是每服務一個零件]]
- n8n 的每服務一零件 >> 屬於 >> [[credential_parts]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../credential_parts.md` >> 提及 >> n8n 的每服務一零件
@@ -0,0 +1,37 @@
---
tags: [文件, 設計]
gloss: 一份兩千字的設計筆記,密度很高,萃出五個概念。
created: 2026-05-20
updated: 2026-08-15
---
# u6u_design
← [[00-INDEX]]
## 摘要
開場一句「u6u 是一個 AI Friendly 的 n8n」,後面是條列的設計主張,最後一段是觀念想法。
## 重點
- **生態那三條**被收成 [[讓生態自己長]]
- **介面策略**是 [[視覺優先開發]],它迴避 [[解釋 webhook 的困難]]
- ⚠️ 文件最後一句「考慮讓他自己 OWN,企業版資料獨立」**沒有展開,本次未萃成卡**
## 實體
- **u6u_design**(原稿)— 本卡對應的那一份文件。
## 關聯
### 卡片關係
- u6u_design >> 涵蓋 >> [[AI 的 marketplace]]
- u6u_design >> 涵蓋 >> [[自動審核取代人工]]
- u6u_design >> 涵蓋 >> [[視覺優先開發]]
- u6u_design >> 涵蓋 >> [[解釋 webhook 的困難]]
- u6u_design >> 涵蓋 >> [[零件長尾誰來補]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../u6u_design.md` >> 提及 >> u6u_design
@@ -0,0 +1,44 @@
---
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 不是每服務一個零件
@@ -0,0 +1,41 @@
---
tags: [流程, 零件]
gloss: call API 的只要 call 通就過,功能性的只要通過它自己設的 Gherkin 就過。
created: 2026-05-20
updated: 2026-08-15
---
# 自動審核取代人工
← [[u6u_design]]
## 摘要
把「零件能不能上架」的判斷交給可執行的檢查,省掉人工審核。
## 重點
- **打 API 的**:成功 call 通就算過
- **功能性的**:通過投稿者自己寫的 Gherkin 就算過
- ⚠️ 這條跟後來的 `component-pr-review-standard` 有張力——那份明講 **Gherkin 全綠 ≠ 零件安全**(投稿者可寫避重就輕的 Gherkin)
-**兩份文件寫於不同時期,後者修正了前者**。真正框死破壞力的是純 WASI 沙箱,不是 Gherkin
## 實體
- **Gherkin 自審**(機制)— 投稿者自寫驗收條件,通過即上架。
## 關聯
### 內文知識關係
- call API 成功 >> 即通過 >> 審核
- Gherkin 全綠 >> 不等於 >> 零件安全
### 卡片關係
- 自動審核取代人工 >> 屬於 >> [[u6u_design]]
- 自動審核取代人工 >> 屬於 >> [[讓生態自己長]]
- 自動審核取代人工 >> 支撐 >> [[AI 的 marketplace]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../u6u_design.md` >> 提及 >> 自動審核取代人工
@@ -0,0 +1,41 @@
---
tags: [產品, 介面]
gloss: 用戶拉一個按鈕,後面自然綁上 webhook——不用解釋 webhook 是什麼。
created: 2026-05-20
updated: 2026-08-15
---
# 視覺優先開發
← [[u6u_design]]
## 摘要
u6u 的低門檻策略:讓抽象概念從具體操作裡浮現,而不是先教會使用者術語。
## 重點
- **先做前端按鈕、輸入框,後端邏輯跟著綁上去**
- **點下去就看到工作流** ⇒ 概念從操作裡長出來
- 它迴避的是 [[解釋 webhook 的困難]]
- 延伸:cypher 放大就是 graph,**每個功能可以摺疊成一點,也可以 zoom in 展開調整** ⇒ 同一個碎型結構
## 實體
- **視覺優先**(策略)— 先給看得見的操作,再讓概念浮現。
- **摺疊與展開**(互動)— 功能可收成一點也可展開調整。
## 關聯
### 內文知識關係
- 前端按鈕 >> 綁定 >> webhook
- cypher 放大 >> 就是 >> graph
### 卡片關係
- 視覺優先開發 >> 屬於 >> [[u6u_design]]
- 視覺優先開發 >> 迴避了 >> [[解釋 webhook 的困難]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../u6u_design.md` >> 提及 >> 視覺優先開發
@@ -0,0 +1,37 @@
---
tags: [產品, 介面]
gloss: 要跟一般用戶解釋什麼是 webhook 很難——這是低門檻產品真正的門檻。
created: 2026-05-20
updated: 2026-08-15
---
# 解釋 webhook 的困難
← [[u6u_design]]
## 摘要
一句被順帶寫下、但其實是整個介面策略起點的觀察。
## 重點
- **門檻不在功能,在術語**
- ⇒ 對策不是寫更好的說明文件,是 [[視覺優先開發]]——讓他不必知道那個詞
## 實體
- **術語門檻**(障礙)— 使用者卡在概念名稱而非功能本身。
## 關聯
### 內文知識關係
- 術語 >> 構成 >> 使用門檻
### 卡片關係
- 解釋 webhook 的困難 >> 屬於 >> [[u6u_design]]
- 解釋 webhook 的困難 >> 被迴避於 >> [[視覺優先開發]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../u6u_design.md` >> 提及 >> 解釋 webhook 的困難
@@ -0,0 +1,36 @@
---
tags: [生態, 零件, 方法論]
gloss: u6u 對「零件從哪來、誰把關、爛的怎麼淘汰」的整套答案:三件事互相咬合。
created: 2026-05-20
updated: 2026-08-15
---
# 讓生態自己長
← [[00-INDEX]]
## 摘要
這個主題把三張卡收在一起,因為它們是同一個迴圈的三段:怎麼補、怎麼把關、怎麼淘汰。
## 重點
- 起點是 [[零件長尾誰來補]]——**不預先做完整,缺的時候由需要的人補**
- 把關交給 [[自動審核取代人工]],因為人工審核會變成瓶頸
- 淘汰交給 [[AI 的 marketplace]]**而它能成立的唯一原因是使用者是 AI**(回饋可以被強制)
-**三段缺一段這個迴圈就停**:沒人補、沒人審、或爛的不會消失,生態都長不起來
## 實體
- **生態迴圈**(結構)— 補件、把關、淘汰三段互相咬合。
## 關聯
### 卡片關係
- 讓生態自己長 >> 收攏 >> [[AI 的 marketplace]]
- 讓生態自己長 >> 收攏 >> [[自動審核取代人工]]
- 讓生態自己長 >> 收攏 >> [[零件長尾誰來補]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../u6u_design.md` >> 提及 >> 讓生態自己長
@@ -0,0 +1,41 @@
---
tags: [生態, 零件]
gloss: 沒有人會為了 delete table 去寫完整的 Google Sheets 零件——但缺的那個端點會被下一個需要的人補上。
created: 2026-05-20
updated: 2026-08-15
---
# 零件長尾誰來補
← [[u6u_design]]
## 摘要
u6u 對「零件覆蓋率」的答案:不追求完整,追求需要時補得上,而搜尋會把碎片整合起來。
## 重點
- **每個 API call 獨立,但搜尋會整合**——有人做了 create table,下一個人要 delete 時發現沒有就直接做一個
- **下次搜 google sheets 就同時看到兩個端點** ⇒ 覆蓋率由需求長出來,不由規劃決定
- 這正是 [[AI 的 marketplace]] 要服務的形狀
## 實體
- **長尾覆蓋**(問題)— 沒人會預先寫完整的 API 包裝。
- **搜尋整合**(機制)— 碎片端點在搜尋時被聚合成一組。
## 關聯
### 內文知識關係
- 需求 >> 決定 >> 覆蓋率
- 搜尋 >> 整合 >> 獨立的端點
### 卡片關係
- 零件長尾誰來補 >> 對策是 >> [[AI 的 marketplace]]
- 零件長尾誰來補 >> 屬於 >> [[u6u_design]]
- 零件長尾誰來補 >> 屬於 >> [[讓生態自己長]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../u6u_design.md` >> 提及 >> 零件長尾誰來補