-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
プロジェクト終了フローチャート
状態遷移図
flowchart LR
subgraph main[" "]
direction TB
Start([開始]) --> Running[実行中]
SubReport --> Running
Running --> Goal
Running --> Budget{予算}
Running --> User{ユーザ干渉}
Running --> Limit{Claude側<br>レート制限}
subgraph 目標達成["目標達成判定"]
Goal{目標}
Complete[完了]
Partial[部分完了]
Goal -->|達成| Complete
Goal -->|部分達成| Partial
end
end
subgraph STOP管理["STOP回数管理"]
direction TB
Stop{STOP回数}
PMControl{PM判断}
Stop -->|閾値到達| PMControl
end
Running --> Stop
PMControl -->|継続/転属/個別終了| Running
%% 予算
Budget -->|枯渇| BudgetEnd[予算終了]
%% ユーザ
User -->|一時停止指示| Pause[待機]
User -->|終了指示| Report
Pause -->|再開| Running
%% レート制限
Limit --> Pause
%% 中間報告
Partial --> SubReport[中間レポート]
%% 終了
BudgetEnd --> Report[最終レポート]
Complete --> Report
Report --> End([終了])
%% スタイル
classDef warn fill:#ff9
classDef err fill:#f99
classDef ok fill:#9f9
classDef report fill:#9cf
classDef transparent fill:transparent,stroke:none
class Stop warn
class BudgetEnd err
class Complete,Partial ok
class SubReport,Report report
class main transparent
STOP回数閾値(stop_polling_v2.py実装)
エージェント | 閾値 | 理由 |
---|---|---|
PM | 50回 | プロジェクト全体の管理者のため最も高い |
CD | 40回 | 非同期動作が多く、GitHub同期タイミングが不定期のため |
SE | 30回 | 監視タスクと分析タスクのバランス |
CI | 20回 | ジョブ待機が多いため中程度 |
PG | - | イベントドリブン型のため対象外 |
ID | - | イベントドリブン型のため対象外 |
閾値の動的管理
- 設定ファイル:
/Agent-shared/stop_thresholds.json
- PMによる調整: 各エージェントの
.claude/hooks/stop_count.txt
を直接編集 - requirement_definition.mdでの指定: プロジェクト開始時に個別設定可能
終了時のチェックリスト
PMの終了時タスク
- 全エージェントの稼働状況確認
- 予算使用状況の最終記録(
/Agent-shared/budget_history.md
) - 最終レポート生成(
/User-shared/final_report.md
) - エージェント停止順序の決定
- クリーンアップ指示
SEの終了時タスク
- 最終的な統計グラフ生成
- ChangeLog.mdの統合レポート作成
- 性能推移の最終分析
- 未完了タスクのリスト化
CIの終了時タスク
- 実行中ジョブの完了待機または強制終了
- SSH/SFTPセッションのクローズ
- 一時ファイルのクリーンアップ
- ジョブ実行履歴の最終保存
PGの終了時タスク
- 最終コードのコミット
- ChangeLog.mdの最終更新
- SOTA判定の最終確認
- 未実装機能のドキュメント化
CDの終了時タスク
- 最終的なGitHub同期
- 匿名化処理の完了確認
- リリースタグの作成(必要に応じて)
- README.mdの最終更新
実装上の注意点
-
stop_count.txtの管理
- 各エージェントの
.claude/hooks/
ディレクトリに保存 - エージェント再起動時もカウントは保持
- 明示的なリセットが必要
- 各エージェントの
-
終了時の通信
agent_send.sh
で終了通知を送信- 非同期のため、確認応答は期待しない
- 重要な通知は複数回送信
-
データの永続性
- 終了前に必ずChangeLog.mdを更新
- 重要なデータは
/User-shared/
に保存 - SSH上の重要かつ軽量なデータは必要に応じてダウンロード
Metadata
Metadata
Assignees
Labels
No labels