Skip to content

プロジェクト終了条件と手順 #33

@meme-dayo

Description

@meme-dayo

プロジェクト終了フローチャート

状態遷移図

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
Loading

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の終了時タスク

  1. 全エージェントの稼働状況確認
  2. 予算使用状況の最終記録(/Agent-shared/budget_history.md
  3. 最終レポート生成(/User-shared/final_report.md
  4. エージェント停止順序の決定
  5. クリーンアップ指示

SEの終了時タスク

  1. 最終的な統計グラフ生成
  2. ChangeLog.mdの統合レポート作成
  3. 性能推移の最終分析
  4. 未完了タスクのリスト化

CIの終了時タスク

  1. 実行中ジョブの完了待機または強制終了
  2. SSH/SFTPセッションのクローズ
  3. 一時ファイルのクリーンアップ
  4. ジョブ実行履歴の最終保存

PGの終了時タスク

  1. 最終コードのコミット
  2. ChangeLog.mdの最終更新
  3. SOTA判定の最終確認
  4. 未実装機能のドキュメント化

CDの終了時タスク

  1. 最終的なGitHub同期
  2. 匿名化処理の完了確認
  3. リリースタグの作成(必要に応じて)
  4. README.mdの最終更新

実装上の注意点

  1. stop_count.txtの管理

    • 各エージェントの.claude/hooks/ディレクトリに保存
    • エージェント再起動時もカウントは保持
    • 明示的なリセットが必要
  2. 終了時の通信

    • agent_send.shで終了通知を送信
    • 非同期のため、確認応答は期待しない
    • 重要な通知は複数回送信
  3. データの永続性

    • 終了前に必ずChangeLog.mdを更新
    • 重要なデータは/User-shared/に保存
    • SSH上の重要かつ軽量なデータは必要に応じてダウンロード

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions