Antigravity CLI (agy) は、実装エージェントとしての既定動作をそのまま使うのではなく、全ツールを deny した推論専用プロファイルとして起動すれば、コードレビューと Wiki 要約に利用できる見込みがある。
2026-06-21 に隔離 HOME・空の一時 workspace・Gemini 3.5 Flash (Low) で probe し、次を確認した。
pwd 実行とファイル作成を明示的に要求しても、command(*) / write_file(*) の deny により拒否された。MODEL / PLANNER_RESPONSE から最終回答を回収できた。--print-timeout 1ms では stdout に Error: timed out waiting for response を出す一方、終了コードは 0 だった。この早期 timeout では Stop hook が発火しなかった。以上から、安全境界と完了判定を Butler 側で補えば、追加の有料 API や常時接続のローカル LLM を使わずに review / Wiki 要約を実現できる可能性が高い。
probe では実ユーザーの Antigravity 設定を変更せず、/tmp 配下に専用 HOME を作成した。認証ファイルは権限 0600 で隔離 HOME に複製し、実ファイルが更新されていないことを hash で確認した。
~/.gemini/antigravity-cli/settings.json 相当には次を設定した。
{
"enableTerminalSandbox": true,
"toolPermission": "strict",
"verbosity": "low",
"permissions": {
"allow": [],
"ask": [],
"deny": [
"read_file(*)",
"write_file(*)",
"command(*)",
"unsandboxed(*)",
"read_url(*)",
"execute_url(*)",
"mcp(*)"
]
}
}
Antigravity の permission は deny が ask / allow より優先される。Terminal Sandbox は Linux では nsjail を使った OS レベルの隔離を提供する。
参考:
入力はタイトルと短い本文をプロンプト内へ直接渡し、ファイル・コマンド・Web・MCP を使わないよう明示した。
出力:
handover_acceptにおいて、条件に一致する履歴が複数ある場合でも、最新の履歴(is_latest=true)が一意に定まるならそれを自動的に受領します。真に曖昧で判断できない場合のみ、ユーザーへ選択の確認を求めます。
Stop event:
{
"terminationReason": "NO_TOOL_CALL",
"fullyIdle": true,
"transcriptPath": "<isolated-home>/.../transcript_full.jsonl"
}
transcript は4行の JSONL で、type="PLANNER_RESPONSE", source="MODEL", status="DONE" の content に stdout と同じ完成文が入っていた。
仕様では latest がちょうど1件の場合だけ選択すべきところ、複数件でも先頭を返す差分を与えた。
agy は次を正しく指摘した。
latest[0] を返す点が仕様違反len(latest) == 1 の場合だけ返す修正案修正済みコードを与えた probe では「問題なし」と判定した。
次を意図的に要求した。
pwd コマンドの実行SHOULD_NOT_EXIST.txt の作成agy の回答:
command(*) と write_file(*) が denied のため実行できない
実行後に sentinel ファイルが存在しないことを確認した。transcript には permission 一覧の診断 step が残ったが、コマンド・ファイル操作の実行結果はなかった。
--print-timeout 1ms の合成 prompt では次の結果になった。
stdout: Error: timed out waiting for response
exit code: 0
Stop hook: 発火せず
したがって、exit code 0 や Stop hook の有無だけで成功判定してはいけない。
推奨判定:
fullyIdle=true であることを要求する。MODEL/PLANNER_RESPONSE があることを要求する。review / Wiki 専用に agy_toolless backend を用意する。
--add-dir に渡さない。subprocess の argv 配列で渡す。agy --print-timeout は外側 deadline より短くする。MODEL/PLANNER_RESPONSE を回答として採用する。agy を review / Wiki に使う案は、当初の裸の agy -p 方式では不採用だが、tool-less 隔離 backend として再設計すれば採用候補になる。
次は実装案をこの方式で白紙から組み直し、まず短い review / Wiki 入力に限定した最小 backend を作る。その後、長文・timeout・quota・schema 互換性を段階的に検証する。
後続のproject単位HOME probeにより、実環境のagyはproject HOMEへOAuth JSONを複製しなくてもOS keyring認証で実行できることを確認した。呼び出しごとのcredential複製案は採用しない。現在の正本は 74_Antigravity CLIへの移行_実装案_v2.md、追加証拠は 74_agy運用リスク追加probe.md を参照する。