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
thin-shell-alignment — Tasks
狀態:方向待確認,尚未實作(全
[ ])。確認後才動 code。 對應design.md。每完成一個立刻標[x],不批次。 建立:2026-06-27(issue #11)
Phase 0:方向確認(前置)
- 0.1 SDD 三件式寫好,核實總管盤點(P0 CLI run 死端點屬實 + 挖到第三漂移:CLI list key 前綴對不上 + 直連 KV)
- 0.2 回報 issue #11 comment(署名 [arcrun CC])— leo 2026-06-27 全拍定,4 點照 SDD
- 0.3 確認 validate 對齊狀態 — 總管核實揭第四漂移:CLI
acr validate純本機(validate.ts:44 不打端點)、MCParcrun_validate_yaml打 server /validate → 需收斂(Phase 3.1 處理)
Phase 1:P0 死端點(R1)
- 1.1 CLI
run.ts:102改打/webhooks/named/:name/trigger(真端點)— headers 已含 X-Arcrun-API-Key、body 已就緒,只改路徑一行。tsc 綠 - 1.2 驗證:leo21c 部署 workflow →
acr run <name>(本機無 YAML 走玩法二)→ 觸發 200 非 404 - (MCP deploy 死端點不在本 SDD,歸 #8 ①-a / #10 ①-b)
Phase 2:P1 list 來源統一(R2)
- 2.1 CLI
list.ts停CfKvClient直連 KV,改GET /webhooks/named(X-Arcrun-API-Key)— 整段改寫,tsc 綠 - 2.2 MCP
u6u_list_workflows改讀GET /webhooks/named(取代讀 KBDB record,tag 過濾仍走 resource_tag)— registry 簽名加 partnerToken,tsc 綠。⚠️ tag resource_id 語意債(UUID vs name)記 design §4,待總管確認 tag 收斂 - 2.3 確認
GET /webhooks/named回欄位夠 list 用(#8 1.3b 已補 description/created_at/cron_expr)— CLI/MCP 都讀 name/description/created_at - 2.4 驗證:CLI list 與 MCP list 對同帳號回同一組 workflow(同源、欄位齊);key 前綴 bug 消失(列得到新部署的)
- 2.5 驗證:self-hosted 用戶不需 CF API token 即可 list(走 cypher 不直連 KV)
Phase 3:P2 單邊能力(R3)
- [⏸] 3.1 validate:核實完成——真漂移且依賴 #10。CLI 本機驗 YAML(loadWorkflowYaml+parseTriplets+validateRelations);MCP 打 server /validate 但傳的是已解析的
{nodes,edges}graph(graphSchema.safeParse)。兩邊輸入不同層(YAML vs graph),與 deploy 的 YAML→graph 編排債同根。乾淨收斂依賴 #10 編排下沉(YAML→graph 變 API 能力後 validate 才能統一吃 YAML)。標記依賴 #10,記對照清單,不在本 SDD 強收 - 3.2 creds push:記明「刻意單邊」於能力對照清單(含原因:含加密+本機檔,AI 不代傳 credential)
- 3.3 search:CLI
acr workflow search對稱補(次階段,同 #8 Phase 5)
Phase 4 ⭐:防複發機制(R4,治本)
- 4.1 能力對照清單
docs/4-guides/cli-mcp-capability-matrix.md(能力×CLI端點×MCP端點×route存在?×同源?)— 13 能力盤好,標 3 個已知債連 SDD - 4.2 本機 smoke test
scripts/thin-shell-smoke.sh:對每能力打真端點斷言非 404(本機手動跑,非 CI/cron/輪詢)— 跑 prod 通,死端點 exit 1 - 4.3 機制自驗:注入故意死端點
/this-route-does-not-exist-xyz→ smoke 當場攔下列入死端點清單、exit 1(證明能攔)✅- 📌 副產品實證:smoke 對 prod 跑揭出
search_workflow/backfill報 404 — 非 bug,是「#8 code 已寫但 prod cypher 未部署」的假綠被當場揭出(正是 #11 治本要點)
- 📌 副產品實證:smoke 對 prod 跑揭出
Phase 5:收尾
- 5.1 tsc 全綠(cli / mcp / cypher 受影響者)
- 5.2 leo21c 端到端:對齊後的能力 CLI/MCP 都真打通(200 非 404)、防複發機制驗收可攔死端點
- 5.3 issue #11 comment 回報端到端證據;由實證決定結案
鐵律提醒
- 能力落 API、薄殼讀同一源、不直碰儲存(rule 07)。
- 完成=leo21c 端到端客觀證據非 tsc 綠(mindset §7,這正是 #11 要治的假綠)。
- smoke test 本機手動跑,非 CI 高頻(flag 紅線)。
- deploy 那條不重複改(#8/#10 處理)。
- 跨 repo comment 署名 [arcrun CC]。