ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
連携・プラグイン/2026-07-19上級

起動を止める一つのファイル — config.json の破損に備える設定健全性ガード

Antigravity 2.3.1 は config.json が空または壊れていると起動できない不具合を修正しました。修正されたのは症状で、壊れる原因は残ります。スケジュール実行の直前に設定を検証し、良い状態を控え、壊れていれば戻す3層のガードを、動くコードと個人運用の実測でまとめます。

Antigravity339config.json設定管理2自動化33スケジュール実行9resilience9

プレミアム記事

夜間に走らせているジョブが、ある朝だけ何も残していませんでした。ログには短い一行、「起動できませんでした」。前日まで何百回と回っていた同じ手順が、その日は一歩目でつまずいていました。

原因は、たった一つのファイルでした。~/.gemini/config/ の下に置かれた config.json が、空になっていたのです。中身のない JSON をエージェントが読み込もうとして、そのまま立ち上がれなかった。私の側のコードには、何一つ間違いはありませんでした。

Antigravity 2.3.1(7/16)は、まさにこの不具合を修正しています。「config.json が空または壊れていると起動できなくなる」問題を塞いだ、と変更点にあります。ありがたい修正です。けれど、修正されたのは「壊れた設定で起動できない」という症状の方でした。設定が壊れる原因そのものは、私たちの環境の側に残ります。自動でタスクを回すほど、この一歩目の脆さは他人事ではなくなります。

なぜ一つのファイルが起動を止めるのか

エージェント型のツールは、起動時に自分の設定を読みます。モデルの選択、権限の既定、接続先の情報。それらが config.json のような一つのファイルにまとまっている構造は、扱いやすさと引き換えに、一点への集中というもろさを抱えます。

そのファイルが正しい JSON でありさえすれば、多少内容が古くても起動はできます。問題は、JSON として壊れているときです。閉じ括弧が一つ足りない、途中で切れている、あるいは中身が空。パーサは読み込みに失敗し、設定が無いのではなく「読めない」状態になります。無ければ既定で補える実装もありますが、壊れて読めないと、そこで判断が止まります。

私が経験したのは、この「空になっていた」ケースでした。書き込みの途中で何かが中断され、古い中身が消えたのに新しい中身が入りきらなかった。結果として、サイズ 0 のファイルだけが残りました。

壊れ方を先に知っておく

守りを設計する前に、どう壊れるのかを具体的に見ておきます。原因が分かれば、どこに手を当てるべきかが決まります。

壊れ方典型的な原因効く対策
サイズ0・途中で切れる書き込み中の中断、ディスク満杯アトミックな書き込み・実行前の検証
不正な JSON手編集のミス、並行書き込みパース検証・良い状態からの復元
古い状態への巻き戻りクラウド同期の競合解決世代管理・変更検知
キーの欠落スキーマ変更・部分的な移行最小スキーマの照合

個人開発で夜間の自動化を回している私自身の環境では、設定ディレクトリがクラウド同期の対象に入っていた時期があり、二台の端末が別々に書いた設定がぶつかって、同期側が中途半端なファイルを残したことがありました。ディスクが一時的に埋まって、書き込みが最後まで通らなかったこともあります。どれも、ツールのバグではなく環境の側の出来事です。だからこそ、ツールの修正を待つのではなく、実行前に自分で確かめる価値があります。

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

この記事の続きを読む

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

この記事で得られること
config.json の JSON パースと最小スキーマを実行前に検証し、壊れた設定でエージェントを起動させない preflight ガードの実装
良い状態を sha256 で台帳化して直近3世代だけ控え、os.replace のアトミックな置換で復元する3層設計
壊れて戻せる控えも無いときに、最小の既定 config を書いて起動を通す fail-safe と、その一度きりを人間に知らせる線引き
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

連携・プラグイン2026-07-19
無応答の MCP サーバーでエージェントが止まる — 接続・一覧・呼び出しに別々のタイムアウトを敷く
Antigravity CLI 1.1.3 は、無応答の MCP サーバーがエージェントを無限に止める問題を、接続・ツール一覧・ツール呼び出しごとのタイムアウトで塞ぎました。3つの境界で失敗の出方が違う理由を整理し、防御ラッパーとサーキットブレーカー、失敗時だけの通知を、動くコードと夜間運用の実測でまとめます。
連携・プラグイン2026-07-11
許可を尋ねられても、答える人がいない — 統一パーミッションを無人実行の契約として書く
v2.2.1 の統一パーミッションは対話を前提にしています。深夜に走るスケジュール実行では、その前提が崩れます。allow / deny / queue の三分法でポリシーを事前宣言し、無人でも止まらない契約として書き下す設計をまとめました。
連携・プラグイン2026-07-08
Antigravity の OAuth トークンが OS キーリングに保存されるようになった—ヘッドレス運用で認証を崩さない設計
v2.2.1 で更新後の OAuth トークンが OS キーリングへ自動保存されるようになりました。デスクトップでは快適な一方、ヘッドレスのスケジュール実行では保管庫そのものが存在せず認証が崩れます。バックエンドの明示指定・安全なファイルフォールバック・保存場所ごとの生死確認までを設計します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →