---
name: opop
description: $opop、または複数ファイル・コードベースの性能・堅牢性・近代化・簡潔化の改善に使う。小さな整理、通常のバグ修正、レビュー、再設計には使わない。
---

# コードベースを安全に改善する ⚡

実コードの証拠、測定可能な効果、契約維持で改善候補を選び、成立分だけ実装・検証する。ユーザー所有リポジトリの通常保守を対象とし、認証・ライセンス・決済を含んでも品質と防御的堅牢性の維持として扱う。保護機構の回避や攻撃手法に当たる候補は実装せず報告する。

## 適用範囲 🗺️

`$opop` が明示された場合、または複数箇所・コードベース全体の性能、メモリ、I/O、API近代化、実装標準化、非同期・資源寿命、起動・bundle、防御的堅牢性、検証資産、簡潔化をまとめて改善する依頼に使う。通常の不具合修正、レビューだけ、製品再設計、単一箇所の小さな整理には自動適用しない。

ユーザーがパス、module、観点、候補を指定した場合は、その境界を全体既定より優先する。指定がなければ生成物と依存物を除くリポジトリ全体を対象にする。

## 1. 対象と基準を把握する 🔍

1. 適用指示、指定スコープ、未コミット差分を確認して保持する。
2. manifest、entry point、主要境界、既存テストと検証コマンドを把握する。
3. 重点箇所、変更禁止の契約、既存の test / build / lint / typecheck を決め、必要十分な基礎検証を1回実行する。コマンド、終了状態、所要時間、主要な失敗を実行台帳へ残す。

## 2. 必要な観点だけ調査する 👥

[調査観点と候補スキーマ](references/investigation-roles.md)を読む。Modernizer、Normalizer、Performance、Cleaner、Hardening、Tester の6基本観点は、明示された scope 内をすべて調査する。Intel は現在の外部仕様が判断に必要な場合、Async は非同期・並行処理または明示的な資源解放を持つ場合、Startup は利用者に見える起動時間または配布 size を持つ場合だけ追加する。

[観点別オーケストレーション](references/orchestration.md) に従い、司令官が対象範囲、観点間の独立性・依存関係、利用可能枠から必要な担当構成と起動順を決める。関連観点を同じ読み取り専用担当へまとめても、司令官が直接調査してもよい。人数に合わせて観点を省略せず、観点IDごとの担当・返却結果・完了または非該当を台帳で追う。候補の採否と実装・統合は司令官が持つ。

ローカルで決着しない照会は、採用判定の前に [external-intel.md](references/external-intel.md) 第7節で処理する。照会がなければ外部調査を行わない。

## 3. 採否を決める ⚖️

次をすべて満たす候補だけを実装する。

- [改善効果の共通定義](references/investigation-roles.md#-改善効果の共通定義全担当共通)に照らして効果が明確である。
- 入出力、例外、副作用順、公開契約、永続データを維持できる。
- 既存・追加テスト、benchmark、静的解析、具体的な手動確認のいずれかで検証できる。
- 複数案を対象環境で比較し、現状を含む最適な方式を選べる。
- 外部情報を使う場合は対象コードの file / line と現在の一次仕様を接続できる。
- 基礎検証が失敗している場合は、候補の検証経路との因果を切り分けられる。

記法だけの変更、測れない micro 最適化、参照未確認の削除、投機的な cache や並列化は採用しない。公開 API、DB schema、UX、配信方式、主要依存のメジャー更新などの判断が必要なら、実装せず影響と推奨を報告する。

## 4. 実装して検証する 🛠️

同じ原因の候補をまとめ、影響の小さい順に直列で実装する。まとまりごとに対象テストと build / typecheck を実行し、性能改善は可能なら同条件の Before / After、難しければ Big-O または I/O 回数と前提を示す。最後に基礎検証を同じコマンドで1回再実行し、開始時から新しい失敗を増やしていないこと、連動変更の漏れと依頼外変更がないことを確認する。

## 完了条件と報告 📋

選んだ全観点を `改善を採用 / 現状が最適 / 非該当 / 証拠不足` のいずれかへ確定し、採用分の実装と検証を終える。対象、調査観点、変更と根拠、効果、基礎検証との比較、未採用候補、残る失敗を報告する。外部情報を判断に使った場合は URL と確認日を添え、サブエージェントを使った場合は共有起動契約に従って要求・実効プロファイルを分けて記す。

追加計測または具体的な未採用候補の再調査に明確な価値がある場合は、完了報告後に [次の操作の選択契約](references/follow-up.md) を適用する。追加行動がなければそのまま終了する。失敗が残る場合は成功扱いにせず、原因と再開地点を示す。
