| name | ai_delegation |
| description | AI同士のバトンタッチ(タスク委譲)とチェック体制。セッション開始時のPR確認から終了時のIssue作成までのルールを定義する。 |
AI Delegation & Synchronization (AIタスク委譲プロトコル)
本プロジェクトは「フォアグラウンドの攻めのAI(Antigravity)」と「バックグラウンドの守りのAI(Jules)」によるデュアル開発体制を採用しています。新しいAIセッション(インスタンス)が立ち上がった際、またはその日の作業を終了する際、以下のプロトコルを必ず実行してください。
1. セッション開始時(チェックイン)
AIは開発作業を開始する前に、必ず「前任のAI(主にJules)」が残した作業成果をチェックし、最新の状態を main ブランチに統合しなければなりません。
必須アクション
- 未マージのPull Requestの確認:
- コマンド:
gh pr list
- Julesからリファクタリング、テスト追加、依存関係更新などのPRが届いていないか確認する。
- PRのレビューとマージ:
- PRが存在する場合、変更内容を確認しテスト(
npm run test 等)が通ることを確かめてからマージする。
- コンフリクトが発生している場合は、手動(またはAI自身の判断)で解決する。
- ローカルリポジトリの同期:
- コマンド:
git pull origin main
- 最新の状態になった
main ブランチをベースに今日の開発タスクを開始する。
2. 開発中(TODO駆動開発)
フォアグラウンドのAIは「スピード重視」で新機能を実装します。
必須アクション
- 実装中に見つけた「今すぐ直さなくても動くが、直すべき技術的負債(N+1問題、コンポーネントの共通化、E2Eテストの不足など)」は、その場で立ち止まって修正しようとせず、コード内に
// TODO: Jules: [修正内容や懸念点] とコメントを残して実装を強行してください。
- 複雑なリファクタリングはJulesに一任します。
3. セッション終了時(チェックアウト・タスク委譲)
一連のタスク(またはその日の作業)が完了した際、残っているTODOや技術的負債をJulesに委譲(Delegation)して作業を終えます。
必須アクション
- TODOの洗い出し:
- コード内に残した
// TODO: Jules コメントや、実装中に気づいたが後回しにした改善点(カバレッジ不足など)をリストアップする。
- GitHub Issue の作成とラベル付与:
- 抽出したTODOをテーマごとに分割し、GitHub Issueとして起票する。
- コマンド例:
gh issue create --title "P1: [Refactor] ..." --body "..." --label "jules"
- 重要: Issueには必ず
jules ラベルを付与すること。これがJulesをバックグラウンドで起動させるトリガーになります。
- AI Starter Kitの更新とコミット:
- 抽出スクリプトを実行し、最新の汎用AIドキュメントをZIP化する。
- コマンド:
npm run export:ai-kit
- 生成された
ai-starter-kit.zip および関連ファイルをコミットし、main にPushする。
- 完了報告:
- ユーザーに対して、「作業完了」と「JulesへのIssue委譲完了」をセットで報告し、明日のセッション開始時にJulesのPRを確認するよう申し送る。
4. コンフリクト回避原則(Jules タスク設計)
Antigravity(フォアグラウンド)チームが開発を続けながらJulesにissueを投げる場合、以下のルールに従う。
背景: PR#60-64 のマージ時にDB層・型定義ファイルで大規模コンフリクトが頻発した教訓から策定。
ルール
- レイヤー分離: Julesに渡すタスクは「Antigravityが触っていないレイヤー」に限定する
- ✅ テスト追加(
__tests__/ 新規ファイル)
- ✅ ドキュメント更新(
blueprint.md, .agents/skills/)
- ✅ CI/CD設定(
.github/workflows/)
- ✅ 依存関係更新(
package.json)
- ❌ コア実装(
lib/db/, app/api/, components/ 等)
- ファイル指定: Issue本文にJulesが触ってよいファイルを明示する(「対象ファイル」セクション必須)
- 新規ファイル優先: 既存ファイルの修正より新規ファイル作成のタスクを優先する
- main同期義務: JulesはPR作成前に必ず
git pull origin main --rebase を実行する
- 一口サイズ: 1 Issue = 1 PR。大きなタスクは分割してコンフリクトの影響範囲を最小化する
- 時間ベースの排他制御: Antigravity(人間含む)が直近24時間以内に激しく変更したファイルは、Julesのリファクタリング対象外とする。Issue起票時に対象外ファイルを明記する
- コンフリクトのエスカレーション: AIがコンフリクト解消を3回以上試みて失敗した場合、自力解決を中止し、コンフリクト内容を整理して人間にエスカレーションする義務がある。AIのパニックによるコード破壊を防止するため