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
+58
View File
@@ -0,0 +1,58 @@
# 00-INDEXarcrun/docs
> 機器整理的 wiki。**原稿在上一層**,這裡不放原文。有爭議時以原稿為準。
## 子節點
- **user_requirements** → `../user_requirements/.wiki/00-INDEX.md`
主題:u6u 四層架構、credential 三層模型|概念:Polaris 意圖層、零件宇宙、AuthBroker…
`#規格 #架構 #credential` 4 篇(含 1 篇指針) 更 2026-08-15
## 文件(本層每一篇一張)
- [[HANDOFF-config-scope-and-vectorize]] — 一份交辦文件,指出 arcrun 設定分層的兩條缺口,萃出兩個概念。
`#文件 #設定` 建 2026-06-15 更 2026-08-15
- [[HANDOFF-matrix-rearrange]] — Matrix 重整交給 arcrun 的待辦清單,用指針式考古不複製素材。
`#文件 #遷移` 建 2026-06-13 更 2026-08-15
- [[HANDOFF-mira-repair]] — 一份修復交辦,把調查做完了:哪些不用改、哪些要改、哪些要降級。
`#文件 #事故` 建 2026-06-03 更 2026-08-15
- [[HANDOFF-self-host-harness]] — 一份把「今天要做的三件事」連同已查證實況整理好的交辦,核心是戰法轉向。
`#文件 #策略` 建 2026-06-01 更 2026-08-15
- [[component-pr-review-standard]] — 零件與 binding 的 PR 審核規範,五段 checklist,任一否就打回。
`#文件 #流程` 建 2026-06-03 更 2026-08-15
## 主題(跨文件聚類產生)
- [[結構性閘]] — 把錯誤路徑做成「根本碰不到」,而不是叮嚀人不要走。
`#方法論 #流程 #架構` 建 2026-06-03 更 2026-08-15
## 本層概念(9
- [[AI 讀不到的隱形分層]] — arcrun 是給 AI 操作的工具,而 harness 說明 41 行對 scope 零字提及。
`#設定 #AI 協作` 建 2026-06-15 更 2026-08-15
- [[Mira workflow 斷鏈]] — Mira 六個 workflow 全斷,但真因不是 arcrun 壞了,是 Mira 當初把東西錯做成假零件。
`#事故 #零件` 建 2026-06-03 更 2026-08-15
- [[cypher 雙份分岔]] — matrix 與 arcrun 各有一份 cypher-executor 且已分岔——整合後只留 arcrun 一份。
`#架構 #遷移` 建 2026-06-13 更 2026-08-15
- [[scope 誤部風險]] — 部署到哪個 CF 帳號,取決於你當下站在哪個資料夾——而這件事沒有任何地方寫著。
`#設定 #風險` 建 2026-06-15 更 2026-08-15
- [[self-hosted 戰法轉向]] — 2026-06-01 從 SaaS 改成 self-hosted 開源——它改的不只是商業模式,是「成功」的定義。
`#策略 #部署` 建 2026-06-01 更 2026-08-15
- [[假零件降級]] — 打固定 endpoint 的東西不是零件是 recipe——33 顆降到 22 顆,代價是所有引用它的人斷鏈。
`#零件 #架構` 建 2026-06-03 更 2026-08-15
- [[成功的定義]] — 舊:在我的帳號上能跑。新:任何人在自己的帳號上跑得通,而且寫錯會被擋住。
`#策略 #驗收` 建 2026-06-01 更 2026-08-15
- [[規則記不住]] — 規定說幾次都沒用——這不是紀律問題,是機制缺席。
`#流程 #AI 協作` 建 2026-06-03 更 2026-08-15
- [[零件 PR 審核閘]] — 靠「AI 記住規則」防架構錯誤不 scale,所以把錯誤擋在 PR 這道結構性閘上。
`#流程 #架構 #審核` 建 2026-06-03 更 2026-08-15
## 說明
> 上面四節是**機器讀的**,只准放連結/路徑;說明寫在這一節,**不要用連結語法**。
> 每一行的摘要/標籤/日期都是從卡的 frontmatter 複製過來的 ⇒ index 可機械產生。
>
> 🔴 **`user_requirements/arcrun-landing-page/` 不在任何清單上,這是對的**——
> 它只有 `.jsx``.html``.css`**沒有可掃文件 ⇒ 依規範它不是節點**,不建 `.wiki`。
>
> 本層只長出一個主題(結構性閘),因為另外幾張卡各自獨立、還湊不出第二個主題。
+42
View File
@@ -0,0 +1,42 @@
---
tags: [設定, AI 協作]
gloss: arcrun 是給 AI 操作的工具,而 harness 說明 41 行對 scope 零字提及。
created: 2026-06-15
updated: 2026-08-15
---
# AI 讀不到的隱形分層
← [[HANDOFF-config-scope-and-vectorize]]
## 摘要
真實事故:mira 被交代遷移時沒看懂 scope 存在,差點誤部官方帳號。病根不在它笨,在它讀的東西裡沒有這一層。
## 重點
- **arcrun 的操作者是 AI 不是人**mindset §2),所以「AI 讀得到什麼」就是「系統有什麼」
- 而 harness block 全文 41 行,**對 scope/帳號歸屬/誤部風險 0 字**
- ⇒ mira 把「搬資料」跟「用哪個帳號」混為一談——**那是兩件獨立的事**
- 這是 [[結構性閘]] 的另一面:規則沒被寫在會被讀到的地方,等於不存在
## 實體
- **harness block**(介面)— AI 讀 arcrun 時看到的說明,`cli/harness/CLAUDE.block.md`
- **遷移 ≠ scope**(判準)— 搬資料與用哪個帳號是兩件獨立的事。
## 關聯
### 內文知識關係
- harness block >> 沒有提及 >> scope
- AI >> 只知道 >> harness block 寫的東西
### 卡片關係
- AI 讀不到的隱形分層 >> 屬於 >> [[HANDOFF-config-scope-and-vectorize]]
- AI 讀不到的隱形分層 >> 屬於 >> [[結構性閘]]
- AI 讀不到的隱形分層 >> 被誤部風險放大 >> [[scope 誤部風險]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-config-scope-and-vectorize.md` >> 提及 >> AI 讀不到的隱形分層
@@ -0,0 +1,34 @@
---
tags: [文件, 設定]
gloss: 一份交辦文件,指出 arcrun 設定分層的兩條缺口,萃出兩個概念。
created: 2026-06-15
updated: 2026-08-15
---
# HANDOFF-config-scope-and-vectorize
← [[00-INDEX]]
## 摘要
2026-06-15 頂層總管交辦。由 mira self-hosted dogfood 踩出來的兩條框架缺口,兩條都走 SDD 協議。
## 重點
- **缺口 1** 是功能面:讀分層完整但只能寫全域 ⇒ [[scope 誤部風險]]
- **缺口 2 被作者標為最重要**:AI 讀的說明裡完全沒有這一層 ⇒ [[AI 讀不到的隱形分層]]
- 文件還帶了第三塊(KBDB Vectorize 開關),但那部分在本次萃取中沒有獨立成概念
## 實體
- **HANDOFF-config-scope-and-vectorize**(原稿)— 本卡對應的那一份交辦文件。
## 關聯
### 卡片關係
- HANDOFF-config-scope-and-vectorize >> 涵蓋 >> [[AI 讀不到的隱形分層]]
- HANDOFF-config-scope-and-vectorize >> 涵蓋 >> [[scope 誤部風險]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-config-scope-and-vectorize.md` >> 提及 >> HANDOFF-config-scope-and-vectorize
+32
View File
@@ -0,0 +1,32 @@
---
tags: [文件, 遷移]
gloss: Matrix 重整交給 arcrun 的待辦清單,用指針式考古不複製素材。
created: 2026-06-13
updated: 2026-08-15
---
# HANDOFF-matrix-rearrange
← [[00-INDEX]]
## 摘要
頂層重整的產物。第一條就是關掉 matrix 版 cypher-executor。
## 重點
- **主要問題**[[cypher 雙份分岔]],含逐檔的勘查結果
- **指針式考古**:素材真身留在 `_archive/`,這份只給路徑——**不複製進來,避免第二份真相**
## 實體
- **HANDOFF-matrix-rearrange**(原稿)— 本卡對應的那一份交辦文件。
## 關聯
### 卡片關係
- HANDOFF-matrix-rearrange >> 涵蓋 >> [[cypher 雙份分岔]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-matrix-rearrange.md` >> 提及 >> HANDOFF-matrix-rearrange
+34
View File
@@ -0,0 +1,34 @@
---
tags: [文件, 事故]
gloss: 一份修復交辦,把調查做完了:哪些不用改、哪些要改、哪些要降級。
created: 2026-06-03
updated: 2026-08-15
---
# HANDOFF-mira-repair
← [[00-INDEX]]
## 摘要
arcrun 端的 CC 寫給 mira 端的 CC。特色是「調查已做完,照著改即可,不必重跑」。
## 重點
- **事故**[[Mira workflow 斷鏈]]——六個 workflow 全掃過
- **真因**:[[假零件降級]],而 mira 當初錯做了假零件
- **這份文件本身示範了一件事**:交辦時把調查結果一起交出去,接手的人才不會重跑一遍
## 實體
- **HANDOFF-mira-repair**(原稿)— 本卡對應的那一份交辦文件。
## 關聯
### 卡片關係
- HANDOFF-mira-repair >> 涵蓋 >> [[Mira workflow 斷鏈]]
- HANDOFF-mira-repair >> 涵蓋 >> [[假零件降級]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-mira-repair.md` >> 提及 >> HANDOFF-mira-repair
+34
View File
@@ -0,0 +1,34 @@
---
tags: [文件, 策略]
gloss: 一份把「今天要做的三件事」連同已查證實況整理好的交辦,核心是戰法轉向。
created: 2026-06-01
updated: 2026-08-15
---
# HANDOFF-self-host-harness
← [[00-INDEX]]
## 摘要
2026-06-01 撰寫。它最重要的一段不是任務,是背景:戰法已經變了。
## 重點
- **背景**[[self-hosted 戰法轉向]]
- **後果**:[[成功的定義]] 被整個改寫
- **它的體例值得學**:先講「戰法已轉變(最重要的背景)」,再講今天做什麼
## 實體
- **HANDOFF-self-host-harness**(原稿)— 本卡對應的那一份交辦文件。
## 關聯
### 卡片關係
- HANDOFF-self-host-harness >> 涵蓋 >> [[self-hosted 戰法轉向]]
- HANDOFF-self-host-harness >> 涵蓋 >> [[成功的定義]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-self-host-harness.md` >> 提及 >> HANDOFF-self-host-harness
+40
View File
@@ -0,0 +1,40 @@
---
tags: [事故, 零件]
gloss: Mira 六個 workflow 全斷,但真因不是 arcrun 壞了,是 Mira 當初把東西錯做成假零件。
created: 2026-06-03
updated: 2026-08-15
---
# Mira workflow 斷鏈
← [[HANDOFF-mira-repair]]
## 摘要
整修後 mira 的 workflow 斷了。調查結論:prod 活著、降級的 recipe 都在 KV,大部分只需小改不必重寫。
## 重點
- **不是 arcrun 壞了**——`cypher.arcrun.dev` 活著,降級後的 recipe 都在 prod KV(已驗)
- **是 Mira 當初自己把一堆東西錯做成假零件** ⇒ [[假零件降級]] 一動它就斷
- **教訓**:引用「不該存在的東西」的人,會在那個東西被修正時付出代價
## 實體
- **六個 workflow**(受害範圍)— mira 全部的 workflow 都掃過了。
- **降級後的 recipe**(現況)— kbdb_gettelegram_sendgmail_send 等都在 prod KV。
## 關聯
### 內文知識關係
- Mira >> 錯做成 >> 假零件
- 假零件降級 >> 導致 >> Mira workflow 斷鏈
### 卡片關係
- Mira workflow 斷鏈 >> 屬於 >> [[HANDOFF-mira-repair]]
- Mira workflow 斷鏈 >> 肇因於 >> [[假零件降級]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-mira-repair.md` >> 提及 >> Mira workflow 斷鏈
@@ -0,0 +1,34 @@
---
tags: [文件, 流程]
gloss: 零件與 binding 的 PR 審核規範,五段 checklist,任一否就打回。
created: 2026-06-03
updated: 2026-08-15
---
# component-pr-review-standard
← [[00-INDEX]]
## 摘要
它的開場白就是整份文件的論點:靠 AI 記住規則不 scale,所以把錯誤擋在結構上。
## 重點
- **論點**[[規則記不住]]
- **手法**:[[零件 PR 審核閘]],五段 A–E 逐條過
- 每一段都附了**真實反例**`km_wiki_card_parse` 被否、drainer 本地綠但撞 1042)——**反例比規則本身有用**
## 實體
- **component-pr-review-standard**(原稿)— 本卡對應的那一份交辦文件。
## 關聯
### 卡片關係
- component-pr-review-standard >> 涵蓋 >> [[規則記不住]]
- component-pr-review-standard >> 涵蓋 >> [[零件 PR 審核閘]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../component-pr-review-standard.md` >> 提及 >> component-pr-review-standard
+37
View File
@@ -0,0 +1,37 @@
---
tags: [架構, 遷移]
gloss: matrix 與 arcrun 各有一份 cypher-executor 且已分岔——整合後只留 arcrun 一份。
created: 2026-06-13
updated: 2026-08-15
---
# cypher 雙份分岔
← [[HANDOFF-matrix-rearrange]]
## 摘要
勘查結果:matrix 版獨有 5 檔(皆非 SaaS 遺留,是 self-hosted 核心)、兩邊都有但內容不同 10 檔要逐檔比對。
## 重點
- **matrix 獨有的 5 檔是要保留的**:版本選擇策略、缺件自動生成、雙模式路由、WASM 執行、proxy
- **10 檔內容分岔**要逐檔比對合併,取較完整的一邊但保留 arcrun 較新的 auth 演進
- **同一個東西有兩份且都在演化 ⇒ 必然分岔**,這是要儘早合併的理由
## 實體
- **diverged 副本**(狀態)— 同源但各自演化後內容不同的兩份。
## 關聯
### 內文知識關係
- 兩份副本 >> 各自演化 >> 內容分岔
### 卡片關係
- cypher 雙份分岔 >> 屬於 >> [[HANDOFF-matrix-rearrange]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-matrix-rearrange.md` >> 提及 >> cypher 雙份分岔
+57
View File
@@ -0,0 +1,57 @@
{
"schema": 3,
"note": "卡→原文寫在卡的『### 出處』;原文→卡寫在這裡。多對多。",
"docs": [
{
"doc_id": "d_000",
"node": "(根)",
"path": "HANDOFF-config-scope-and-vectorize.md",
"提及": [
"HANDOFF-config-scope-and-vectorize",
"AI 讀不到的隱形分層",
"結構性閘",
"scope 誤部風險"
]
},
{
"doc_id": "d_001",
"node": "(根)",
"path": "HANDOFF-matrix-rearrange.md",
"提及": [
"HANDOFF-matrix-rearrange",
"cypher 雙份分岔"
]
},
{
"doc_id": "d_002",
"node": "(根)",
"path": "HANDOFF-mira-repair.md",
"提及": [
"假零件降級",
"Mira workflow 斷鏈",
"HANDOFF-mira-repair"
]
},
{
"doc_id": "d_003",
"node": "(根)",
"path": "HANDOFF-self-host-harness.md",
"提及": [
"成功的定義",
"self-hosted 戰法轉向",
"HANDOFF-self-host-harness"
]
},
{
"doc_id": "d_004",
"node": "(根)",
"path": "component-pr-review-standard.md",
"提及": [
"零件 PR 審核閘",
"規則記不住",
"結構性閘",
"component-pr-review-standard"
]
}
]
}
+41
View File
@@ -0,0 +1,41 @@
---
tags: [設定, 風險]
gloss: 部署到哪個 CF 帳號,取決於你當下站在哪個資料夾——而這件事沒有任何地方寫著。
created: 2026-06-15
updated: 2026-08-15
---
# scope 誤部風險
← [[HANDOFF-config-scope-and-vectorize]]
## 摘要
arcrun 的設定讀取分三層(env > 專案 > 全域),但寫入只能寫全域,而「我現在會部到哪」沒有任何提示。
## 重點
- **讀分層完整、寫只能全域**`saveConfig()` 寫死 `~/.arcrun/config.yaml``acr init` 四處呼叫全寫全域
- ⇒ 想用專案層的人被迫污染全域,**怕誤打官方帳號**
- **最陰險的是 fallback**:任一層都沒 `mode` 就靜默當 `local`,不報錯——你會看到「成功」但雲端沒有 trace
- 真正的病灶不是缺功能,是 [[AI 讀不到的隱形分層]]
## 實體
- **scope 分層**(機制)— env > 專案 `.arcrun.yaml` > 全域 `~/.arcrun/config.yaml`
- **靜默 fallback**(陷阱)— 沒設 mode 就當 local,不報錯。
## 關聯
### 內文知識關係
- scope 分層 >> 決定 >> 部署到哪個帳號
- 靜默 fallback >> 造成 >> 看到成功但沒有雲端 trace
### 卡片關係
- scope 誤部風險 >> 屬於 >> [[HANDOFF-config-scope-and-vectorize]]
- scope 誤部風險 >> 根因是 >> [[AI 讀不到的隱形分層]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-config-scope-and-vectorize.md` >> 提及 >> scope 誤部風險
+39
View File
@@ -0,0 +1,39 @@
---
tags: [策略, 部署]
gloss: 2026-06-01 從 SaaS 改成 self-hosted 開源——它改的不只是商業模式,是「成功」的定義。
created: 2026-06-01
updated: 2026-08-15
---
# self-hosted 戰法轉向
← [[HANDOFF-self-host-harness]]
## 摘要
richblack 的決定。連帶把 self-hosted 一鍵起得來從「重要但非阻擋項」升為第一優先。
## 重點
- **改的是驗收標準**,見 [[成功的定義]]
- ⇒ 優先序跟著翻轉:self-host 起得來變成當日第一優先
- **戰法一變,原本排在後面的東西可能立刻變成阻擋項**——這是排序時要先問「戰法變了嗎」的理由
## 實體
- **self-hosted 開源策略**(戰法)— 使用者在自己的 CF 帳號上跑,而非平台託管。
## 關聯
### 內文知識關係
- 戰法轉向 >> 改變 >> 優先序
- self-hosted >> 取代 >> SaaS
### 卡片關係
- self-hosted 戰法轉向 >> 屬於 >> [[HANDOFF-self-host-harness]]
- self-hosted 戰法轉向 >> 改寫了 >> [[成功的定義]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-self-host-harness.md` >> 提及 >> self-hosted 戰法轉向
+41
View File
@@ -0,0 +1,41 @@
---
tags: [零件, 架構]
gloss: 打固定 endpoint 的東西不是零件是 recipe——33 顆降到 22 顆,代價是所有引用它的人斷鏈。
created: 2026-06-03
updated: 2026-08-15
---
# 假零件降級
← [[HANDOFF-mira-repair]]
## 摘要
arcrun 大整修:把「打固定 API 卻被做成零件」的假零件降級成 recipe 並刪掉零件目錄。判準是 DECISIONS §1:零件=endpoint 薄殼。
## 重點
- **判準**:零件是可複用的原語;**打固定 API 的是 recipe**
- **33 → 22 顆**,被降級的解析方式變了 ⇒ 造成 [[Mira workflow 斷鏈]]
- 這正是 [[零件 PR 審核閘]] 要在源頭擋掉的東西——**降級是補救,審核才是預防**
## 實體
- **假零件**(反模式)— 打固定 API 卻被做成零件的東西。
- **recipe**(正解)— 具名封裝的單一 API 呼叫。
## 關聯
### 內文知識關係
- 假零件 >> 應降級為 >> recipe
- 降級 >> 改變了 >> 零件名的解析方式
### 卡片關係
- 假零件降級 >> 屬於 >> [[HANDOFF-mira-repair]]
- 假零件降級 >> 被擋於 >> [[零件 PR 審核閘]]
- 假零件降級 >> 觸發了 >> [[Mira workflow 斷鏈]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-mira-repair.md` >> 提及 >> 假零件降級
+40
View File
@@ -0,0 +1,40 @@
---
tags: [策略, 驗收]
gloss: 舊:在我的帳號上能跑。新:任何人在自己的帳號上跑得通,而且寫錯會被擋住。
created: 2026-06-01
updated: 2026-08-15
---
# 成功的定義
← [[HANDOFF-self-host-harness]]
## 摘要
戰法轉向後,harness 的成功定義被整個改寫。新定義多了一個常被忽略的下半句。
## 重點
- **舊**:在 richblack 的 prod 帳號(`cypher.arcrun.dev`)上能跑
- **新**:任何 CC 在自己的 CF 帳號 `acr init --self-hosted` 後跑通一個含 recipe 的 workflow
- 🔴 **而且「寫錯時會被程式擋住」是定義的一部分**——不是加分項
- ⇒ 這句話直接推導出 [[零件 PR 審核閘]] 這類 [[結構性閘]] 的必要性
## 實體
- **新成功定義**(驗收)— 任何人在自己帳號跑通,且寫錯會被擋。
## 關聯
### 內文知識關係
- 新定義 >> 包含 >> 寫錯會被擋住
- 舊定義 >> 只涵蓋 >> 作者自己的帳號
### 卡片關係
- 成功的定義 >> 屬於 >> [[HANDOFF-self-host-harness]]
- 成功的定義 >> 被改寫於 >> [[self-hosted 戰法轉向]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../HANDOFF-self-host-harness.md` >> 提及 >> 成功的定義
+37
View File
@@ -0,0 +1,37 @@
---
tags: [方法論, 流程, 架構]
gloss: 把錯誤路徑做成「根本碰不到」,而不是叮嚀人不要走。
created: 2026-06-03
updated: 2026-08-15
---
# 結構性閘
← [[00-INDEX]]
## 摘要
這個主題把三張卡收在一起,因為它們是同一個手法的三個場合:不靠自覺,靠結構。
## 重點
- 把 [[零件 PR 審核閘]] 收進來,是因為它明講了理由——**零件本來就要走 PR,所以把檢查放在那裡,錯誤路徑就碰不到**
- 而 [[規則記不住]] 是這個手法的前提:**規定說幾次都沒用,這不是紀律問題是機制缺席**
- [[AI 讀不到的隱形分層]] 則是同一件事的反面——**規則沒被放在會被讀到的地方,等於不存在**
- ⇒ 三張卡合起來給出一條可複用的判準:**看到「說過很多次還是會犯」,就去找那個缺席的閘**
## 實體
- **結構性閘**(手法)— 讓錯誤路徑在結構上碰不到,而非靠遵守。
## 關聯
### 卡片關係
- 結構性閘 >> 收攏 >> [[AI 讀不到的隱形分層]]
- 結構性閘 >> 收攏 >> [[規則記不住]]
- 結構性閘 >> 收攏 >> [[零件 PR 審核閘]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../component-pr-review-standard.md` >> 提及 >> 結構性閘
- `../HANDOFF-config-scope-and-vectorize.md` >> 提及 >> 結構性閘
+40
View File
@@ -0,0 +1,40 @@
---
tags: [流程, AI 協作]
gloss: 規定說幾次都沒用——這不是紀律問題,是機制缺席。
created: 2026-06-03
updated: 2026-08-15
---
# 規則記不住
← [[component-pr-review-standard]]
## 摘要
審核規範開宗明義的一句:「靠 AI 記住規則防架構錯誤不 scale」。它是整份文件存在的理由。
## 重點
- **規定寫得再清楚,沒有機制驗證就等於沒有**
- ⇒ 對策不是寫更多規定,是**把錯誤路徑做成碰不到**
- 這條可以推廣到任何「說過很多次還是會犯」的問題——**去找那個缺席的閘**
## 實體
- **不 scale**(性質)— 規則數量增加時,靠記憶遵守的成功率下降。
## 關聯
### 內文知識關係
- 靠記憶遵守規則 >> 不 scale
- 缺席的機制 >> 才是 >> 真正的病灶
### 卡片關係
- 規則記不住 >> 屬於 >> [[component-pr-review-standard]]
- 規則記不住 >> 屬於 >> [[結構性閘]]
- 規則記不住 >> 治的是 >> [[零件 PR 審核閘]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../component-pr-review-standard.md` >> 提及 >> 規則記不住
+46
View File
@@ -0,0 +1,46 @@
---
tags: [流程, 架構, 審核]
gloss: 靠「AI 記住規則」防架構錯誤不 scale,所以把錯誤擋在 PR 這道結構性閘上。
created: 2026-06-03
updated: 2026-08-15
---
# 零件 PR 審核閘
← [[component-pr-review-standard]]
## 摘要
零件與 service binding 本來就要走 PR,所以把檢查放在那裡,讓錯誤路徑「根本碰不到」。五段 checklist,任一否就打回。
## 重點
- **A 反過度工程**:判準是「三個月後會有第二個 workflow 用它嗎」,不會就不是零件
- **B binding 層級**(最常踩):跨-worker 編排一律走 cypher bindingservice binding 只准組 wasm
- **D 驗證誠實**:要打**部署後的真端點**,本地 miniflare 會假綠——實例是 drainer 本地綠、production 撞 1042
- **E 部署鐵律**wrangler 直推,不用 `acr update`(會假綠蓋掉改動)
- 它治的是 [[規則記不住]],手法屬於 [[結構性閘]]
## 實體
- **PR 審核閘**(機制)— 零件與 binding 變更的強制檢查點。
- **假綠**(反模式)— 本地測試通過但生產環境會失敗。
- **三個月判準**(判準)— 未來三個月會不會有第二個使用者。
## 關聯
### 內文知識關係
- PR 審核 >> 擋下 >> 架構錯誤
- 本地 miniflare >> 產生 >> 假綠
- 三個月判準 >> 決定 >> 是不是零件
### 卡片關係
- 零件 PR 審核閘 >> 實作 >> 結構性閘 >> [[規則記不住]]
- 零件 PR 審核閘 >> 屬於 >> [[component-pr-review-standard]]
- 零件 PR 審核閘 >> 屬於 >> [[結構性閘]]
- 零件 PR 審核閘 >> 擋的正是 >> [[假零件降級]]
### 出處(原文 >> 提及 >> 本卡,可多筆)
- `../component-pr-review-standard.md` >> 提及 >> 零件 PR 審核閘