VibeHost Server-Side Build Migration — 驗收報告

產出時間:2026-04-27 17:15 (Asia/Taipei) · 作者:Claude Code · 驗收人:kytu

📋 任務範圍

完成 VibeHost server-side build 子系統的全套 PR review 修正、 E2E 遷移準備、Vercel 風格的 CLI UX,並以 5 個真實 Next.js 專案在 staging GKE + Cloudflare 上驗證。

✅ 已完成

4 個 PR Review 全部修畢

PR 主題 狀態
#51 (PR #A) Builder image + GKE Job + log forward plumbing 已合併
#52 (PR #B) API spawns Builder Job + admin trigger 已合併
#53 (PR #C) app_env_vars + AES-GCM 加密 + env CLI 已修審查意見,待合併
#54 (PR #D) GCS build cache (restore + save) 已修審查意見,待合併
#55 internal build endpoints 應在 user-auth 之前掛載 已上 PR,待合併
註:實際 main 上 PR #B 的 squash-merge 已包含此修正
#56 Builder 自動偵測 package manager + 處理缺少 lockfile 已上 PR,待合併

Staging Infra 配置完成(IaC 同步中)

關鍵發現(已記錄)

Builder 邏輯改進(PR #56)

⚠️ 未完成 / 已知風險

因為超出單一 session 安全範圍而停下

以下項目原計劃在這次 session 完成,但考慮到 user 不在線、且 這些變更涉及 production state mutation 或長時運算, 選擇明確記錄而不冒險推進:

🔗 相關連結

📝 建議的下一步順序

  1. 合併 PR #53、#54(互不依賴;review 已修畢)
  2. 合併 PR #55、#56(功能性的最後兩塊)
  3. 修 staging workload identity binding(手動或補一行 Pulumi iam.MemberBinding),跑 pulumi up
  4. 等 staging GitHub Actions 把新 API + builder image 推上去
  5. 手動跑 5 個真實 repo E2E(建議: create-next-app 預設、blog-startercommercetaxonomyapp-router-playground
  6. E2E 全綠後,flip RUNTIME_BUILD_PATH=server flag(或同等開關),退役 client-build;更新 CLAUDE.md hard rule #1
  7. 最後再做 CLI Vercel UX(與 server-build flow 解耦,可獨立 review)