CLAUDE LABEN
VERSION — 8月10日に v2.1.227 が出ていました。新機能はなく、プラン判定と CI まわりの不具合修正が中心ですAUTO — 8月14日の既定化まで残り2日です。Pro・Max・Team で Claude Code の auto モードが既定で有効になりますCI — claude-code-action で allowed_non_write_users を指定すると GitHub ホストランナー上の Bash が全て失敗していた問題が直りましたBILLING — 期限切れトークンで開始したセッションが加入プランを取り違え、Max 利用者に使用クレジットの有効化を促していた不具合も解消していますSUNSET — 旧 Workbench と実験的プロンプトツール API の廃止は8月17日で、残り5日ですPRICE — Sonnet 5 のプロモ価格 $2/$10 per Mtok は8月31日までで、9月1日から $3/$15 per Mtok になりますVERSION — 8月10日に v2.1.227 が出ていました。新機能はなく、プラン判定と CI まわりの不具合修正が中心ですAUTO — 8月14日の既定化まで残り2日です。Pro・Max・Team で Claude Code の auto モードが既定で有効になりますCI — claude-code-action で allowed_non_write_users を指定すると GitHub ホストランナー上の Bash が全て失敗していた問題が直りましたBILLING — 期限切れトークンで開始したセッションが加入プランを取り違え、Max 利用者に使用クレジットの有効化を促していた不具合も解消していますSUNSET — 旧 Workbench と実験的プロンプトツール API の廃止は8月17日で、残り5日ですPRICE — Sonnet 5 のプロモ価格 $2/$10 per Mtok は8月31日までで、9月1日から $3/$15 per Mtok になります
記事一覧/Claude Code
Claude Code/2026-06-24上級

修正済みのファイルを、もう一度直そうとしました — 浅い永続クローンの陳腐化と「読む前に取り直す」判断

無人のエージェントが、すでに直したファイルをもう一度直そうとしていました。原因は数日前の浅い永続クローンを読み続けていたことです。ローカルHEADとリモートHEADの突き合わせで陳腐化を数値で検知し、判断の前にだけ取り直す設計と、二重作業を防ぐ冪等性の考え方を整理します。

Claude Code217git17自動化77クローン冪等性5

プレミアム記事

無人で回しているパイプラインのログを見ていて、手が止まったことがあります。前の日に直したはずの箇所を、エージェントがもう一度、まったく同じ意図で直そうとしていたのです。差分は出ているのにリモートには何も増えない。失敗もしていない。ただ、すでに片付いた仕事をやり直そうとしていました。

原因は地味でした。作業を速くするために /tmp に置いていた浅いクローンが、数日かけて静かに古くなっていたのです。エージェントはその古い木を読んで「まだ直っていない」と判断し、淡々と二度目の修正を始めていました。

個人開発で複数のリポジトリを毎日決まった時刻に自動で触っていると、この「黙って古くなるクローン」は思った以上に厄介な相手になります。今日はこの一件を題材に、陳腐化を数値で捕まえて、判断の前にだけ取り直す設計を整理してみます。

もう直したはずの場所を、もう一度直そうとした

その日のエージェントは、いつものように永続化していたクローンを再利用していました。git pull --rebase は走っていて、ログ上はエラーもありません。それでも、生成しようとしていた成果物は前日に公開済みのものとほとんど同じでした。

手元で確かめると、原因はすぐに見えました。永続クローン側の記事数は 668、リモートを取り直すと 671。3 本ぶん、つまり別のセッションが先に追加した成果がローカルには反映されていなかったのです。HEAD のコミットも食い違っていました。エージェントは「671 のうち 3 本が新しい」という事実を知らないまま、668 の世界で「まだ無い」と判断していたわけです。

私自身、最初は pull を信じきっていたので、しばらく原因を疑う場所を間違えました。書き込みの権限を疑い、ネットワークを疑い、最後にようやく「読んでいる木そのものが古い」という当たり前のところに戻ってきました。

「書けない」と「古い」は、まったく別の故障です

この手の不具合を切り分けるとき、最初に分けておきたいのが障害の種類です。見た目は似ていても、効く対策がまるで違います。

症状典型的な原因効く対策
push しても何も増えない(commit は成功表示)git identity 未設定・index.lock 残留・空コミットcommit 前に user.email/name を設定し、成否は local==remote の SHA 比較で判定
書き込みで Permission denied作業ディレクトリの所有者違い・ディスク満杯書き込めるパスへフォールバック、容量確保
差分は出るのに「やるべきことが無い」判断になる読んでいるクローンが古い判断の前にリモートとの遅れを測り、必要なら取り直す

今回の一件は、いちばん下の行です。書き込みは正常で、権限も問題ない。壊れていたのは「読み取りの鮮度」でした。git push が成功と言うのに何も増えない 系の対処や、所有者違いのフォールバックをいくら積み上げても、この故障には届きません。だからこそ、独立した一つの故障として扱う価値があります。

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

この記事の続きを読む

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

この記事で得られること
git ls-remote でローカル HEAD とリモート HEAD を突き合わせ、何コミット遅れているかを push 前に数値で出す手順
「書き込みが失敗する」障害と「読み取りが古い」障害を切り分け、後者だけに効く再クローン判定を入れる設計
生成の前に成果物の実体を確認して二重作業を止める、冪等な無人パイプラインの組み方
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Claude Code2026-08-02
予算上限で止まった実行の再開設計 — 停止点36通りを総当たりして分かったこと
ヘッドレス実行が予算上限で止まると、成功でも失敗でもない第三の終了が生まれます。停止点36通りを総当たりして再開の健全性と総支出を測った実験から、原子的な書き込みとインデックス優先の再開、上限をバッチ全体でなく最小の再開単位に掛ける設計へ至った記録です。
Claude Code2026-08-10
同じ rm -rf が、10箇所では戻せて5箇所では戻せませんでした — auto モード既定化の前に可逆性を測る
8月14日から auto モードが Pro / Max / Team の既定になります。止まる境界は「取り消せない・破壊的・環境の外」ですが、可逆性は操作の名前ではなく実行時点の状態で決まりました。復旧不能バイトを数えるプローブと、15対象の実測をまとめます。
Claude Code2026-08-09
一時的な401が長期トークンを置き換える — ヘッドレス実行の資格情報に「出所」を持たせる
共有した資格情報ファイルは、たった一度の一時的な401で長期トークンを失うことがあります。24並列の実行に401を1回だけ注入して被害範囲を実測し、資格情報に出所フィールドを持たせるガードと隔離のコストを比較、24マイクロ秒で現在地を確定する起動時カナリアまで検証しました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →