CLAUDE LABEN
COWORK — Claude CoworkがWeb・モバイルに拡張され、リモートセッション・ファイル同期・端末間のChat/Coworkホーム共有に対応しましたM365 — Claude CoworkにMicrosoft 365の書き込みツールが加わり、メール送信・カレンダー管理・OneDrive/SharePointの作成更新ができますMCP — 管理者がIdP(まずOkta)経由で組織全体にMCPコネクタを配布でき、初回ログインで自動的にアクセスが付与されますCODE — Claude CodeでheadlessセッションのSessionStartフック配信が修正され、フック実行中のアイドル切断を防げますGOV — Claude CodeとClaude CoworkがFedRAMP High環境のClaude for Government Desktopでパブリックベータ提供されていますLIMITS — Claude Codeの週次利用上限が7月13日まで50%引き上げられていますCOWORK — Claude CoworkがWeb・モバイルに拡張され、リモートセッション・ファイル同期・端末間のChat/Coworkホーム共有に対応しましたM365 — Claude CoworkにMicrosoft 365の書き込みツールが加わり、メール送信・カレンダー管理・OneDrive/SharePointの作成更新ができますMCP — 管理者がIdP(まずOkta)経由で組織全体にMCPコネクタを配布でき、初回ログインで自動的にアクセスが付与されますCODE — Claude CodeでheadlessセッションのSessionStartフック配信が修正され、フック実行中のアイドル切断を防げますGOV — Claude CodeとClaude CoworkがFedRAMP High環境のClaude for Government Desktopでパブリックベータ提供されていますLIMITS — Claude Codeの週次利用上限が7月13日まで50%引き上げられています
記事一覧/Claude Code
Claude Code/2026-07-09上級

「ゲートに合格した原稿」と「公開された原稿」は同じものか — 検証と公開のあいだに開く隙間

無人パイプラインでは、品質ゲートが見たファイルと実際に公開されるファイルが別物になることがあります。ダイジェスト付きの合格証を発行し、公開直前に照合する設計を実装コードと実測値つきでまとめました。

claude-code125自律運用2CI/CD18品質ゲート4本番運用35

プレミアム記事

深夜に走らせている無人パイプラインが、ある朝、公開してはいけない原稿を公開していました。

実行ログを開くと、品質ゲートはたしかに「✅ 合格」と出力しています。その数行下で git push も成功しています。どこにも赤い文字はありません。それなのに、公開された本文には、ゲートが弾くはずの表現が残っていました。

しばらく画面を眺めて、ようやく気づきました。ゲートが読んだファイルと、git add が拾ったファイルは、同じパスを指してはいるものの、同じ内容ではなかったのです。ゲートが走ったあと、公開までのわずかな時間のあいだに、別の処理がそのファイルを書き換えていました。

エラーは一件も出ていません。すべての工程が「成功」しています。この静かさが、無人運用でいちばん厄介なところだと感じます。

検証と公開のあいだに、何が入り込むのか

これは古典的な TOCTOU(Time-of-check to time-of-use、検査時と使用時の乖離)です。ファイルシステム上のパスは値ではなく参照であり、検査した瞬間の内容を保持してはくれません。

無人パイプラインで私が実際に踏んだ侵入経路は、次の4つでした。

侵入経路何が起きるか気づきにくい理由
再生成 ゲート違反を補強するつもりで本文を書き直したが、再ゲートを忘れたまま push に進む ログには古い「✅ 合格」がそのまま残っている
自動整形・自動修正 整合性チェックの --fix がファイルを書き換え、副産物の .bak まで残す git add -A が意図しないファイルを一緒に拾う
一時ファイルの残骸 固定名の一時ファイルへの書き込みが失敗し、前回実行の内容が読まれる 書き込み失敗が非ゼロ終了として伝播しない
並行プロセス 別のスケジュール実行が同じ作業ディレクトリを触る 両方の実行が個別には成功して見える

どれも「ゲートを厳しくする」では防げません。ゲートの内容ではなく、ゲートと公開のあいだに問題があるからです。

合格証という考え方 — 判定を内容に束ねる

私が採った解決策は、ゲートの合否をそれ自体で完結させず、検査した内容そのもののダイジェストに束ねることでした。

ゲートが通ったとき、次の情報を持つ小さな JSON を発行します。

  • 検査した各ファイルの相対パスと sha256 ダイジェスト
  • 実行したゲートの名前と、ゲートスクリプト自身のダイジェスト
  • 発行時刻(単調に進む時計と壁時計の両方)
  • パイプラインの実行 ID

この JSON を「合格証(receipt)」と呼んでいます。公開の直前に合格証を読み、そこに書かれたダイジェストをもう一度ファイルから計算し直して照合します。1バイトでも変わっていれば、公開しません。

肝心なのは、合格証がファイルの内容に対して発行されるという点です。パスに対してではありません。パスは書き換わりますが、ダイジェストは嘘をつきません。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
品質ゲートの合格結果をファイルの sha256 ダイジェストに束ねる「合格証」の実装を、発行・検証の両方のコード付きで手に入れられる
検証と公開を同じシェル呼び出しにまとめると失敗の観測点が消える理由を理解し、握りつぶされる非ゼロ終了を洗い出せるようになる
ゲート合格後にファイルが書き換わる4つの侵入経路(再生成・自動整形・一時ファイル残骸・並行プロセス)と、それぞれの塞ぎ方が分かる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-06-14
PR ごとに走る CI が月次クレジットを溶かす前に — Claude Code GitHub Actions の消費を抑える3層ガード
6/15 から Claude Code GitHub Actions は繰越なしの月次クレジットで課金されます。全PRでレビューを走らせると月初に枯れます。実行条件・1回の上限・消費の可視化という3層で、CIを止めずに消費を抑えた設計と動くワークフローをまとめました。
Claude Code2026-05-25
Claude Code と GitHub Actions で 4 サイトの自動投稿パイプラインを 7 ヶ月運用して見えてきた品質ゲート設計
Claude Code とスケジュールタスクで Lab 4 サイトに毎日 16 本の記事を自動投稿してきた中で、Helpful Content System のインデックス崩壊を経験してから設計し直した品質ゲート、トークン管理、ロールバック手順を実装サンプル込みでまとめます。
Claude Code2026-05-05
Claude Code SDK で本番品質の自律エージェントを作る7つの設計原則 — スタミナ・エラー回復・コスト管理の実装
Claude Code SDK で自律エージェントを本番運用するために必要な7つの設計原則。無限ループ防止・タイムアウト・コスト制御・エラー回復の実装パターンを解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →