Files
uncle6me-web 5d00e71275 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>
2026-07-03 07:13:33 +08:00

4.1 KiB
Raw Permalink Blame History

thin-shell-alignment — Tasks

狀態:方向待確認,尚未實作(全 [ ])。確認後才動 code。 對應 design.md。每完成一個立刻標 [x],不批次。 建立:2026-06-27issue #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 不打端點)、MCP arcrun_validate_yaml 打 server /validate → 需收斂Phase 3.1 處理)

Phase 1P0 死端點(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 2P1 list 來源統一(R2

  • 2.1 CLI list.tsCfKvClient 直連 KV,改 GET /webhooks/namedX-Arcrun-API-Key)— 整段改寫,tsc 綠
  • 2.2 MCP u6u_list_workflows 改讀 GET /webhooks/named(取代讀 KBDB recordtag 過濾仍走 resource_tag)— registry 簽名加 partnerTokentsc 綠。⚠️ 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 3P2 單邊能力(R3

  • [⏸] 3.1 validate:核實完成——真漂移且依賴 #10。CLI 本機驗 YAMLloadWorkflowYaml+parseTriplets+validateRelations);MCP 打 server /validate 但傳的是已解析的 {nodes,edges} graphgraphSchema.safeParse)。兩邊輸入不同層YAML vs graph),與 deploy 的 YAML→graph 編排債同根。乾淨收斂依賴 #10 編排下沉(YAML→graph 變 API 能力後 validate 才能統一吃 YAML)。標記依賴 #10,記對照清單,不在本 SDD 強收
  • 3.2 creds push:記明「刻意單邊」於能力對照清單(含原因:含加密+本機檔,AI 不代傳 credential
  • 3.3 searchCLI 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 治本要點)

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]。