タスク状態遷移ガイド (Task Status Transition Guide)
このドキュメントでは、GIIPシステムにおいてAIエージェントが実行するタスクの各状態が何を意味し、どのようなプロセスを経て変化し、どこに記録されるかを説明します。
1. 概要
タスク状態管理は、分散されたAIエージェントが連携するための重要なメカニズムです。すべての状態変化はデータベースではなくファイルベースで行われ、特定のPowerShellスクリプトがこれらのファイルを読み取り、修正することで状態が遷移します。
2. 状態遷移フロー (Transition Flow)
stateDiagram-v2
[*] --> Pending : [発生] Orchestratorがファイルを生成
Pending --> In Progress : [開始] launch_subsession.ps1を実行
In Progress --> Completed : [完了] エージェントの作業と検証が完了
Completed --> [*] : [終了] MASTER_ISSUE_LIST.mdに反映
| 状態 | 意味 | 遷移条件 |
|---|---|---|
| Pending | 待機中。作業が割り当てられたが、まだ開始されていない | Orchestratorが giipdb/dispatch/ にファイルを生成 |
| In Progress | 進行中。エージェントがタスクを占有して作業中 | launch_subsession.ps1 または launch_role.ps1 によって状態が置換される |
| Completed | 完了。作業が終了し、エージェントが自ら検証を終えた | エージェント自身がファイルの Status を修正 |
| Archived | アーカイブ済み。完了したタスクがマスターリストに反映された後に整理される | 管理ツールによってファイルが移動またはタグ付けされる |
3. 技術的な仕組み (Technical Mechanics)
3.1 状態の認識 (check_status.ps1)
- 探索:
giipdb/dispatch/フォルダ内のTASK_*.mdファイルをスキャンします。 - パース: ファイル上部の
**Status**:パターンを正規表現で探し、現在の状態を抽出します。
3.2 状態の更新 (launch_subsession.ps1)
- 自動化:
Pending状態のタスクを発見すると、ファイルの内容を読み取り、-replaceを使用して**Status:** In Progressに強制的に置換します。 - 注意: このプロセスはファイルの物理的な修正を伴うため、エンコーディングエラーや正規表現のマッチング失敗時にファイル内容が破損する恐れがあります。
3.3 スクリプト別の違い
launch_subsession.ps1: バックグラウンドエージェントを即座に実行し、ファイルを直接修正します。launch_role.ps1: ユーザーとの対話のためにファイルを修正し、クリップボードにプロンプトを生成します。
4. 記録および同期ポイント
タスクの状態が変化した際、エージェントは次の2箇所に記録を残す必要があります:
- 個別タスクファイル:
giipdb/dispatch/TASK_*.md(Source of Truth) - マスターリスト:
giipdb/docs/00_Master/MASTER_ISSUE_LIST.md(管理ダッシュボード)
5. トラブルシューティング
- 状態が変わらない: ファイル上部の
**Status:**フォーマットが正確か確認してください(タイポや空白に注意)。 - 内容の消失: ファイルのエンコーディングが
UTF-8 BOMでない場合、スクリプト処理中に内容が文字化けしたり破損したりすることがあります。必ずエンコーディングを確認してください。
最終更新日: 2026年3月20日