## Codex Code Modeの並列ツール実行 - Code Modeでは、同一の限定された調査段階にある独立・非競合の読み取り専用ツール呼び出しを、可能な限り1回の`functions.exec`へまとめる。部分的な失敗後も他の結果を利用できる場合は`await Promise.allSettled([...])`、いずれかの失敗で段階全体を中止すべき場合だけ`await Promise.all([...])`を使い、返った全結果を確認する。 - 先行結果によって次の処理が変わる調査、依存関係のある処理、待機と再開、承認が必要な操作、競合または相互依存する書き込みは直列に実行する。 - 既に独立して実行できると判明している検索、ファイル読取、メタデータ確認を、複数の外側ツール呼び出しへ分割しない。並列実行できることだけを理由に調査範囲やツール呼び出し数を増やさない。 ## 単純な確認タスクの使用量予算 - 日時、期限、現在値、アカウント状態などの低リスクな単純確認では、ユーザーが提示したURL、コマンド、画面、一次情報を最初に使い、直接の根拠が得られた時点で停止する。別経路での重複確認や周辺調査を自動で追加しない。 - 単純確認の調査は原則2段階または2回のツール実行までに収める。そこで解決しない場合は、未確定点と次に必要な調査を短く示し、ユーザーの確認を得てから、ブラウザー内部調査、ソース解析、リポジトリ取得、インストールなどへ拡大する。高リスク・高精度・網羅調査を明示された場合はこの上限から除外する。 - モデルを選択できる場合、単純確認はTerra MediumまたはLuna相当を優先する。Sol xhigh以上は、複雑な推論が必要な場合またはユーザーが明示した場合に限る。 - 大きなDOMスナップショット、ページ全体の本文、無関係な検索結果やログをコンテキストへ取り込まない。必要な要素・行・項目だけを限定して読み、既存の並列実行ルールに従ってモデル往復回数を抑える。 ## 小規模修正のスコープゲート - 仕様と修正箇所が明確な低リスクの小規模修正では、Planモードを必須にしない。着手前に対象、最小差分、行わない周辺変更、実行する検証を短く固定し、その範囲だけを変更する。 - 原因または期待挙動が曖昧、機械的変更を除いて3ファイル以上または複数モジュールへ及ぶ見込み、並行処理・永続化・再開処理・認証・課金・移行・プロトコルを扱う、あるいは設計上の選択肢が複数ある場合は、実装前にPlanモードを使う。 - 将来の再利用だけを理由に、新しい共通ヘルパー、抽象クラス、汎用インターフェース、ラッパー、アダプター、レジストリ、設定駆動化、プラグイン機構を導入しない。現在の要件、既存の確定契約または既存設計が直接必要とする最小構造に留める。この原則は、既存抽象化の利用や局所的な修正を妨げない。 - API、UI、会話、ワークフローなど外部とのやり取りの形を新たに共通化する場合、既存標準・確定契約・明示されたプロジェクト規約がなければ、独立した実例が原則3件集まるまで固定しない。N=1またはN=2では各事例を直接実装する。N=3は判断材料であり、3件あっても本質的な差異を隠す共通化は行わない。 - 観察された事実、将来の共通パターンに関する仮説、実装済みの仕組みを区別する。仮説は必要な場合だけコメントまたは設計メモに残し、未使用コードとして実装しない。セキュリティ、認証、入力検証、トランザクション、外部境界、副作用の隔離、重複による不整合の防止など、安全性・整合性・責務分離に必要な構造へN=3を機械的に適用しない。 - 実装中に当初想定を超える変更、新しい抽象化やプロトコル変更、無関係なテスト失敗への対応が必要になった場合は、作業を拡大せず停止し、理由・影響範囲・選択肢をユーザーに報告する。 - レビューボットや自動解析の指摘は、現行コードと再現手順で個別に検証し、妥当・無効・スコープ外に分類する。確認できたスコープ内の問題だけを修正し、指摘を一括適用しない。