RAILSHOT.
返回展廳

Railshot

AI deployment & operations platform

將本機建置的網頁應用程式,部署到備妥的雲端與地端環境並維運。

把在本機建置的網頁應用程式部署到備妥的雲端或地端環境,並持續維運的 AI 部署與維運平台。

2026.09.28 — 2026.10.04 · 已結束

團隊專案 · 負責:CI 規劃與實作、CSP 叢集與 Ansible 介面、維運、團隊程式碼審查與整合

SoftBank Hackathon 2026 powered by KOREC & Progate參加預賽 · 決賽入選名單預定 2026年10月26日公布(截至 2026年10月7日)

  • 網頁已實作 · 黑客松
  • MCP 伺服器已實作 · 遠端 · 本機

交接後的獨立檢查,兩項重疊復原的整理

大賽期間 2026年10月3–4日的兩個案例。開發所用的 Codex 工作階段,與產品內的 Jev 及 CI 診斷,分列於不同欄。

完整圖例

閱讀方式 · 所有案例使用同一套規則

  • 欄表示由誰執行,由上而下表示時間
  • 實線:有記錄的交接或下一步
  • 粗青金色線 ↩:把工作退回的審查意見
  • 虛線:不是有記錄的執行(規範、沒有權限的假設、未確認的邊界)
  • 矩形:行動
  • 圓角:觀測到的狀態或審查意見
  • 折角:產出物或證據
  • 斜紋欄:開發中產品的組成部分(不是用來建構它的代理)

案例 1 / 2 · 可觀測性實作交給另一個 Codex 工作階段,再以失敗 fixture 另行檢查

October 3, 2026

可觀測性實作交給另一個 Codex 工作階段,再以失敗 fixture 另行檢查

  1. 工作階段原工作階段

    行動交出一個 worktree,並停止在該處編輯

    • 交接worktree · 已知失敗→ 先處理交接的缺陷:固定五關卡假設 · Q/L4 未執行證據 · draft 回歸 (Codex 實作工作階段)
  2. 工作階段原工作階段

    行動契約:觀測到的錯誤 ≠ 模型假設,只用既有部署路徑

    • 交接完成條件→ 單一 JSON 錯誤 · 證據契約 + Python · Node 發送端 (Codex 實作工作階段)
  3. 程式開發代理Codex 實作工作階段

    行動先處理交接的缺陷:固定五關卡假設 · Q/L4 未執行證據 · draft 回歸

    • 交接→ 單一 JSON 錯誤 · 證據契約 + Python · Node 發送端 (Codex 實作工作階段)
  4. 程式開發代理Codex 實作工作階段

    行動單一 JSON 錯誤 · 證據契約 + Python · Node 發送端

    • 不是有記錄的執行僅限證據,無寫入權限→ Jev 只分類,無修正權限 (CI 診斷 · Jev)
    • 交接回傳 PR · 發布證據→ PR #131 · 固定的發布證據 (產出物)
  5. 開發對象CI 診斷 · Jev

    觀測 · 審查意見Jev 只分類,無修正權限

  6. 產出物產出物

    產出物PR #131 · 固定的發布證據

    • 交接在實作工作階段之外檢查→ 獨立檢查:失敗 fixture · 診斷查詢 · 擁有權 (原工作階段)
  7. 工作階段原工作階段

    行動獨立檢查:失敗 fixture · 診斷查詢 · 擁有權

    • 交接注入已知失敗→ L1:.dockerignore 缺少 .env 排除規則 · L2:語法錯誤 (CI 診斷 · Jev)
  8. 開發對象CI 診斷 · Jev

    觀測 · 審查意見L1:.dockerignore 缺少 .env 排除規則 · L2:語法錯誤

  9. 工作階段原工作階段

    行動語法錯誤由檢查腳本自行修正 · 重新提交

    • 交接同一服務路徑→ CI → 映像檔 → GitOps → Argo → Pod · HTTPS 已確認 (產出物)
  10. 產出物產出物

    產出物CI → 映像檔 → GitOps → Argo → Pod · HTTPS 已確認

背景
這項工作修正原因被掩蓋的 CI 失敗(假設固定五個階段、掩蓋原因的建置指紋、停用的 Q/L4 缺少逐項 NOT_RUN 證據等)。應使用者要求,由另一個 Codex 工作階段實作;原工作階段停止編輯該 worktree,之後自行注入失敗來檢查結果。
結果
診斷記錄揭露了兩次失敗的原因;檢查方自行修正語法錯誤,並沿同一路徑再次確認到 Pod 與 HTTPS。實作的採納與測試資源的清理,由原工作階段另行完成。
限制
這不是自動修復的成功案例(此時自動修復嘗試上限為 0)。沒有記錄顯示此變更由 Claude 做出,同一次執行也不能證明 OpenStack 部署。已合併狀態不代表正式核准的次數。
依據與尚存的限制
  • 交接與獨立檢查屬內部工作記錄,未附連結。整合、供應商與部署工作仍由其他工作階段擁有;交接時也註明不要使用仍留有使用者變更的預設 checkout。
  • 契約的核心是把原始錯誤與模型假設、重試建議與實際重試決定,分別放在不同欄位。

October 4, 2026

重現並拆解看似 GitHub 故障的錯誤,並將兩項同時進行的復原變更整併為一

  1. 開發對象API · GitHub 呼叫

    觀測 · 審查意見遠端有提交 · CI 執行 0 次 · liveness 重新啟動

    • 交接不預設為 GitHub 故障→ 以 mock GitHub 重現:分支更新成功,本機 callback 失敗 (復原工作階段)
  2. 工作階段復原工作階段

    行動以 mock GitHub 重現:分支更新成功,本機 callback 失敗

    • 交接→ 分別檢查原始碼註冊 · 本機檢查點 · 分派 (復原工作階段)
  3. 工作階段復原工作階段

    行動分別檢查原始碼註冊 · 本機檢查點 · 分派

    • 交接→ #189:先儲存已受理的 run · 回應遺失時查詢既有 run (復原工作階段)
  4. 產出物產出物

    產出物同時進行的變更:#185 終止處理 · #186 原始碼檢查點

  5. 工作階段復原工作階段

    行動#189:先儲存已受理的 run · 回應遺失時查詢既有 run

    • 交接三個回歸情境→ 回歸測試:受理後結束 · 檢查點錯誤 · 回應遺失 (產出物)
  6. 產出物產出物

    產出物回歸測試:受理後結束 · 檢查點錯誤 · 回應遺失

    • 交接→ PR #189 已合併 · 原始碼雜湊 · 映像檔 · Argo · health 已確認 (產出物)
  7. 工作階段另一個工作階段

    行動取消 · 並行範圍歸此工作階段所有

    • 交接避免重複的重新執行→ 平台回讀 ≠ 客戶結果 · 未重新執行 (產出物)
  8. 產出物產出物

    產出物PR #189 已合併 · 原始碼雜湊 · 映像檔 · Argo · health 已確認

    • 不是有記錄的執行→ 平台回讀 ≠ 客戶結果 · 未重新執行 (產出物)
  9. 產出物產出物

    規範 · 未確認平台回讀 ≠ 客戶結果 · 未重新執行

背景
原始碼提交已在遠端,但 CI 始終未啟動,API 也被 liveness 重新啟動。顯示的錯誤帶有 GitHub 步驟名稱,但實際失敗的可能是本機 callback。
結果
停止觀測前先儲存已受理的原始碼與 run;回應遺失時,查詢已啟動的 run,而不是分派兩次。在前一個映像檔上失敗的斷言另外留存記錄。
限制
由於沒有原始例外訊息,本機中斷只能作為有依據的解釋。這不代表已解決 CPU 或儲存瓶頸,也不代表部署到客戶終端已成功;防止重複分派也不推及所列情境之外。
依據與尚存的限制
  • 重現只使用 mock,沒有實際寫入或重試。
  • 兩份復原記錄與部署回讀屬內部工作記錄;未收錄客戶與維運識別碼。