chore: D22 落地——docs/SDD/wiki/CLAUDE.md 進 repo(Gitea private 預設全 push)

頂層 D22 決策(leo 2026-07-03 拍板):推什麼由開發環境歸屬決定,
Gitea private=除機敏值/build 產物/.github 外全 push。
解 T1.5 卡點:雲端工人 clone 拿得到 credential-store-migration.md,可就地改寫 SDD。
機敏掃描兩輪通過(新增 189 檔約 2.1MB,node_modules/dist/wasm 照舊排除)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
uncle6me-web
2026-07-03 07:13:15 +08:00
parent c830150da1
commit 5d00e71275
190 changed files with 39486 additions and 14 deletions
@@ -0,0 +1,47 @@
# CLI / MCP 能力對照清單(薄殼防漂移)
> **來源**thin-shell-alignment SDDissue #11R4 防複發機制層 1。
> **用途**:每新增一個薄殼能力(CLI 命令 / MCP 工具)**必填一行**PR review 對照。
> **治什麼**:① 打不存在的 server 端點(死端點假綠)② CLI/MCP 同能力不同源(漂移)。
> **配套**`scripts/thin-shell-smoke.sh`(層 2,對真端點打、斷言非 404)。
> **建立**2026-06-27
>
> **填寫規則**
> 1. 「server 端點」必須在 cypher-executor route 清單裡**存在**(用 `grep -rE "Router\.(post|get)\('/xxx'" cypher-executor/src/routes/` 驗)。
> 2. 「同源?」= CLI 與 MCP 是否打**同一個** server 端點。不同源 = 漂移(除非刻意單邊,記明原因)。
> 3. 標 ⚠️ 的是已知債/待收斂項,連到 SDD 對應段。
---
## 對照表
| 能力 | CLI | MCP | server 端點 | route 存在? | 同源? | 備註 |
|------|-----|-----|------------|:---:|:---:|------|
| 部署 workflow | `acr push` | `u6u_deploy_workflow` | `POST /webhooks/named` | ✅ | ⚠️ | MCP 現打死端點 `/workflows/deploy`404)→ 待 #8 ①-a + #10 編排下沉。CLI 走 4 步介面層編排(#10 待下沉)|
| 執行 workflow(已部署)| `acr run <name>` | `u6u_execute_workflow` | `POST /webhooks/named/:name/trigger` | ✅ | ✅ | **#11 P0 已修**CLI 原打死端點 `/webhooks/<name>` → 改打 trigger 真端點 |
| 執行 workflow(本機 YAML| `acr run <file>` | — | `POST /cypher/execute` | ✅ | — | CLI 本機 YAML 直跑;MCP `u6u_execute_workflow` 同打 /cypher/execute |
| list workflow | `acr list` | `u6u_list_workflows` | `GET /webhooks/named` | ✅ | ✅ | **#11 P1 已修**:兩邊原不同源(CLI 直連 KV `workflow:` 前綴對不上 / MCP 讀 KBDB record)→ 收斂到 `GET /webhooks/named`KV 源)|
| get workflow | — | `u6u_get_workflow` | KBDB record / KV| — | — | MCP onlyCLI 無對應(次要,可不補)|
| search workflow | (次階段 `acr workflow search`| `u6u_search_workflows` | `GET /workflows/search` | ✅ | — | **#8 新增**;CLI 對稱補列次階段(R3.3)|
| 驗證 YAML | `acr validate`(本機)| `arcrun_validate_yaml`server /validate| `POST /validate` | ✅ | ⚠️ | **真漂移,依賴 #10**CLI 本機驗 YAML、MCP 傳 graph 打 /validate,輸入不同層。乾淨收斂依賴 #10 編排下沉(SDD §4 表 + tasks 3.1|
| 搜尋零件 | `acr parts` | `u6u_search_components` | `GET /components/search`registry| ✅ | ✅ | 同打 registry search(註:目前是 KV substring 非真語意,registry Phase 2 另案)|
| recipe6 能力)| `acr recipe *` | `arcrun_recipe_*` | `/recipes/*` `/public-recipes/*` | ✅ | ✅ | 已對齊 |
| credential 上傳 | `acr creds push` | — | `POST /credentials` | ✅ | — | **刻意單邊**(非疏漏):含 client 端加密 + 本機檔路徑,AI 不代傳 credentialmindset §6/§7|
| KBDB 資料層(template/record/query/search| `acr kbdb *` | `kbdb_*`6 工具)| `/kbdb/*` | ✅ | ✅ | 已對齊(#8 前批)|
| tagcreate/list/delete/tag/untag| — | `u6u_*_tag` / `u6u_tag_resource` | KBDB resource_tag| — | — | MCP only。⚠️ tag resource_id 語意債(UUID vs name),待方向①收斂(SDD §4.1)|
| whoami | `acr whoami` | `arcrun_whoami` | `GET /me` | ✅ | ✅ | 已對齊 |
---
## 已知債(連 SDD
- ⚠️ **MCP deploy 死端點**`/workflows/deploy` 不存在 → #8 ①-a(先擋)+ #10(編排下沉)。
- ⚠️ **validate 漂移**:依賴 #10 編排下沉後才能統一吃 YAML。
- ⚠️ **tag resource_id 語意**UUID vs name 不明確,待方向①收斂統一為 name。
## 防複發檢查點(新增能力時)
1. 新 CLI 命令 / MCP 工具 → **本表加一行**
2. 填「server 端點」前,`grep` 確認該 route 在 cypher-executor 裡**存在**(否則就是死端點)。
3. 同能力兩介面 → 確認「同源」打同一端點;刻意單邊 → 備註記明原因。
4. 宣稱「對齊/完成」前 → 跑 `scripts/thin-shell-smoke.sh`(對真端點斷言非 404)。