5d00e71275
頂層 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>
4.1 KiB
4.1 KiB
CLI / MCP 能力對照清單(薄殼防漂移)
來源:thin-shell-alignment SDD(issue #11)R4 防複發機制層 1。 用途:每新增一個薄殼能力(CLI 命令 / MCP 工具)必填一行,PR review 對照。 治什麼:① 打不存在的 server 端點(死端點假綠)② CLI/MCP 同能力不同源(漂移)。 配套:
scripts/thin-shell-smoke.sh(層 2,對真端點打、斷言非 404)。 建立:2026-06-27填寫規則:
- 「server 端點」必須在 cypher-executor route 清單裡存在(用
grep -rE "Router\.(post|get)\('/xxx'" cypher-executor/src/routes/驗)。- 「同源?」= CLI 與 MCP 是否打同一個 server 端點。不同源 = 漂移(除非刻意單邊,記明原因)。
- 標 ⚠️ 的是已知債/待收斂項,連到 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 only;CLI 無對應(次要,可不補) |
| 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 另案) |
| recipe(6 能力) | acr recipe * |
arcrun_recipe_* |
/recipes/* /public-recipes/* |
✅ | ✅ | 已對齊 |
| credential 上傳 | acr creds push |
— | POST /credentials |
✅ | — | 刻意單邊(非疏漏):含 client 端加密 + 本機檔路徑,AI 不代傳 credential(mindset §6/§7) |
| KBDB 資料層(template/record/query/search) | acr kbdb * |
kbdb_*(6 工具) |
/kbdb/* |
✅ | ✅ | 已對齊(#8 前批) |
| tag(create/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。
防複發檢查點(新增能力時)
- 新 CLI 命令 / MCP 工具 → 本表加一行。
- 填「server 端點」前,
grep確認該 route 在 cypher-executor 裡存在(否則就是死端點)。 - 同能力兩介面 → 確認「同源」打同一端點;刻意單邊 → 備註記明原因。
- 宣稱「對齊/完成」前 → 跑
scripts/thin-shell-smoke.sh(對真端點斷言非 404)。