RAILSHOT.
展示室へ戻る

Railshot

AI deployment & operations platform

ローカルで作ったWebアプリを、用意されたクラウドとオンプレミス環境にデプロイし、運用します。

ローカルで作ったWebアプリを、用意されたクラウドやオンプレミス環境にデプロイし、運用まで続けるAIデプロイ・運用プラットフォームです。

2026.09.28 — 2026.10.04 · 終了

チームプロジェクト · 担当:CIの企画・実装、CSPクラスターとAnsibleインターフェース、運用、チームのコードレビューと統合

SoftBank Hackathon 2026 powered by KOREC & Progate予選参加 · 本選進出の発表は2026年10月26日予定(2026年10月7日時点)

  • Web実装済み · ハッカソン
  • MCPサーバー実装済み · リモート · ローカル

引き継ぎの独立確認、重なった2つの復旧の整理

大会期間中、2026年10月3–4日の2つの事例です。開発に使ったCodexセッションと、製品内のJevとCI診断は別の列に置いています。

凡例の全体

読み方 · すべての事例に同じ規則

  • 列は誰が行ったか、上から下へは時間の順
  • 実線: 記録された引き継ぎ・次の段階
  • 太い瑠璃色 ↩: 作業を差し戻した指摘
  • 破線: 記録された実行ではない(指針、権限のない仮説、未確認の境界)
  • 長方形: 行動
  • 角丸: 観測された状態・指摘
  • 折れた角: 成果物・証拠
  • 斜線の列: 開発対象の製品の構成要素(開発に使ったエージェントではない)

事例 1 / 2 · 可観測性の実装を別のCodexセッションに引き継ぎ、失敗フィクスチャで別途確認しました

October 3, 2026

可観測性の実装を別のCodexセッションに引き継ぎ、失敗フィクスチャで別途確認しました

  1. 作業セッション元のセッション

    行動worktreeを1つ引き渡し、そこでの編集を停止

    • 引き継ぎworktree · 既知の失敗→ 引き継いだ欠陥から:5段階固定の前提 · Q/L4未実行の証拠 · draftの回帰 (Codex実装セッション)
  2. 作業セッション元のセッション

    行動契約:観測されたエラー ≠ モデルの仮説、既存のデプロイ経路のみ

    • 引き継ぎ完了条件→ 単一のJSONエラー · 証拠契約 + Python · Nodeエミッター (Codex実装セッション)
  3. コーディングエージェントCodex実装セッション

    行動引き継いだ欠陥から:5段階固定の前提 · 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 · 固定リリースの証拠

    • 引き継ぎ実装セッションの外で確認→ 独立確認:失敗フィクスチャ · 診断の照会 · 所有権 (元のセッション)
  7. 作業セッション元のセッション

    行動独立確認:失敗フィクスチャ · 診断の照会 · 所有権

    • 引き継ぎ既知の失敗を投入→ 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の失敗(固定5段階の前提、原因を覆い隠すビルドフィンガープリント、無効化されたQ/L4の検査ごとのNOT_RUN証拠の欠落など)を直す作業でした。ユーザーの依頼で実装は別のCodexセッションが担い、元のセッションはそのworktreeの編集を止めたうえで、自ら失敗を投入して結果を確認しました。
結果
2つの失敗はどちらも診断記録で原因が明らかになり、構文エラーは検証側が自ら直して、同じ経路でPodとHTTPSまで再確認しました。実装の受け入れとテストリソースの片付けは、元のセッションが別途済ませました。
限界
自動修正の成功事例ではありません(この時点の自動修正の試行上限は0)。この変更をClaudeが作ったという記録はなく、同じ実行がOpenStackへのデプロイを証明するものでもありません。マージ済みの状態は、正式な承認の数を意味しません。
根拠と残る限界
  • 引き継ぎと独立確認は内部の作業記録のため、リンクしていません。統合、プロバイダー、デプロイの作業は他のセッションが引き続き所有し、ユーザーの変更が残っていた既定のcheckoutは使わないよう引き継ぎに記されていました。
  • 生のエラーとモデルの仮説、再試行の助言と実際の再試行の決定を、別々のフィールドに分けることが契約の核心でした。

October 4, 2026

GitHubの障害に見えたエラーを再現して切り分け、同時に入った2つの復旧変更を1つに整合させました

  1. 開発対象API · GitHub呼び出し

    観測 · 指摘リモートにコミットあり · CI実行0件 · livenessで再起動

    • 引き継ぎGitHubの障害と断定しない→ モックのGitHubで再現:ブランチ更新は成功、ローカルのcallbackは失敗 (復旧セッション)
  2. 作業セッション復旧セッション

    行動モックのGitHubで再現:ブランチ更新は成功、ローカルのcallbackは失敗

    • 引き継ぎ→ ソース登録 · ローカルチェックポイント · ディスパッチを個別に確認 (復旧セッション)
  3. 作業セッション復旧セッション

    行動ソース登録 · ローカルチェックポイント · ディスパッチを個別に確認

    • 引き継ぎ→ #189: 受け付けたrunを先に保存 · 応答が失われたら既存のrunを照会 (復旧セッション)
  4. 成果物成果物

    成果物同時の変更:#185の終了処理 · #186のソースチェックポイント

  5. 作業セッション復旧セッション

    行動#189: 受け付けたrunを先に保存 · 応答が失われたら既存のrunを照会

    • 引き継ぎ3ケースの回帰→ 回帰:受付後の終了 · チェックポイントのエラー · 応答の喪失 (成果物)
  6. 成果物成果物

    成果物回帰:受付後の終了 · チェックポイントのエラー · 応答の喪失

    • 引き継ぎ→ PR #189マージ · ソースハッシュ · イメージ · Argo · health確認 (成果物)
  7. 作業セッション別のセッション

    行動キャンセル · 同時実行のスコープはこのセッションが所有

    • 引き継ぎ重複した再実行を防止→ プラットフォーム確認 ≠ 顧客側の結果 · 再実行せず (成果物)
  8. 成果物成果物

    成果物PR #189マージ · ソースハッシュ · イメージ · Argo · health確認

    • 記録された実行ではない→ プラットフォーム確認 ≠ 顧客側の結果 · 再実行せず (成果物)
  9. 成果物成果物

    指針 · 未確認プラットフォーム確認 ≠ 顧客側の結果 · 再実行せず

背景
ソースのコミットはリモートにあるのにCIは始まらず、APIはlivenessによって再起動されました。表示されたエラーにはGitHubのステップ名が付いていましたが、実際にはローカルのcallbackが失敗していた可能性がありました。
結果
観測を止める前に、受け付けたソースとrunを保存し、応答が失われた場合は二重にディスパッチせず、すでに開始したrunを照会します。以前のイメージで失敗したアサーションは別の記録として残しました。
限界
元の例外の原文がないため、ローカルでの中断は根拠のある説明にとどめました。CPUやストレージのボトルネックを解決した、あるいは顧客端末へのデプロイまで成功したという意味ではなく、再ディスパッチの防止を名前を挙げたケース以外に一般化してはいません。
根拠と残る限界
  • 再現は、実際の書き込みや再試行なしに、モックのみで行いました。
  • 2つの復旧記録とデプロイ確認は内部の作業記録で、顧客と運用の識別子は載せていません。