Session Lifecycle
セッションの開始から終了まで。状態復元、ハートビート、振り返り、独立監査の全フロー。
Session Overview
全てのセッションは sessions.yaml で管理される。セッション開始時に自動登録され、終了時にステータスが更新される。
sessions: - id: "2026-04-01_s1" project: "card-purchase-system" started_at: "2026-04-01T09:30:00+09:00" status: "completed" # in_progress | completed | suspended task_summary: "決済フロー実装" ended_at: "2026-04-01T12:15:00+09:00" thread_pid: 12345
主要フィールド
in_progress | completed | suspended
Session Start
セッション開始時、POはSession Manager(Haiku)を起動し、状態復元を一括委譲する。Session Managerが全ての準備作業を実行し、要約レポートを返す。
status: in_progressで登録する。memory/retro_*.md から前回の振り返りを読み込み、今回適用すべき改善アクションを特定する。knowledge/organization/ と governance/rules.yaml から最新のナレッジとルールを取得する。Active Thread Detection
複数のClaude Codeスレッドが同時に動作することを検出するため、ハートビート機構を使用する。
ハートビート機構
.claude/sessions/ .heartbeat-12345 # PPID=12345 のスレッド .heartbeat-67890 # PPID=67890 のスレッド
各Hookが Agent の起動前後にハートビートファイルのタイムスタンプを更新する。Session Manager 起動時に check-active-sessions.sh が全ハートビートをスキャンする。
kill -0 成功) かつ in_progress セッション。別スレッドで作業中と判定される。kill -0) 失敗。プロセスが終了済み。ハートビートファイルを削除し、中断タスクとして扱う。status: completed。ハートビートは既にクリア済み。正常終了。PPIDはClaude Codeの親プロセスIDで、スレッドごとに異なる値を持つ。これにより同一マシン上の複数スレッドを区別できる。
Session Resume
新しいセッション開始時に、前回の中断タスクが検出された場合の再開フロー。
POはユーザーに以下の情報を伝達する:
- プロジェクト名と現在フェーズ
- 中断理由(エラー / セッション終了 / タイムアウト)
- 再開する場合、完了済みフェーズはスキップして続行する
セッション再開時は audit-log.md に SESSION_RESUME イベントを記録する。いつ・どこから再開したかを追跡可能にする。
During Session
セッション中の作業は以下のフローで進行する。
Plan Mode
タスク着手前に必ずPlan Modeに入る。コードベースを探索し、要件を整理し、アプローチを設計する。Plan Mode中はファイル編集禁止(読み取りのみ)。
Orchestratorグループ分割
コンテキスト制約を回避するため、Orchestratorはフェーズグループ単位で分割起動する。状態は phase-state.yaml で引き継ぐ。
| グループ | フェーズ | 内容 |
|---|---|---|
| Group 1 | Phase 0-1 | 準備 + 要件定義 |
| Group 1.5 | Phase 1.5 | 技術リサーチ |
| Group 2a | Phase 2a | RFC作成 |
| Group 2b | Phase 2b-3.5 | 詳細設計 + テスト計画 |
| Group 3 | Phase 4a-4d | テスト + 実装 |
| Group 4 | Phase 5-8 | レビュー + PR |
| Group 5 | Phase 9 | 振り返り |
RFCチェックポイント
Group 2a完了後、POがRFCの要約をユーザーに提示する。ユーザーが承認するまで次のグループには進まない。
post-orchestrator記録
各Orchestrator完了後、POはSession Managerを起動して以下を委譲する:
- memo追記(実施内容セクション)
- token-usage.yaml記録
- phase-state.yaml整合性確認
post-agent-checklist.sh が義務フラグを作成し、memo・token-usage.yamlが更新されるまで次のAgent起動をブロックする。
Session End
ユーザーが作業完了を示したとき(「ありがとう」「今日はここまで」等)、自動的に終了フローを実行する。「振り返りしますか?」とは聞かない。
終了フローはユーザーの承認を求めず、自然な流れで実行する。
- やり直し・手戻りが発生した箇所とその原因を分析
- 一発で通った箇所とその要因(成功パターン)を特定
- ユーザーからの修正指示の傾向を把握
- 具体的な改善アクションを抽出(「次回こうする」レベル)
memory/retro_{YYYY-MM-DD}.mdとして保存
sessions.yaml更新(status: completed)- phase-state棚卸し
- Auditor起動(独立監査)
- 最終セッション判定 → 本番記作成(Secretary経由)
- プロセス改善提案の判断
Auditor
セッション終了時にAuditor(Opus)が独立監査を実施する。3つの観点から品質を検証する。
改善検証
前回の改善アクションが今回のセッションで適用されたかを検証する。
改善が適用された / 機会がなかった / 適用されなかった
パターンチェック
過去に検出されたパターン(問題傾向)が再発していないかを確認する。
再発なし / 再発を検出
プロセス遵守
定義されたプロセス(ゲート、テスト、レビュー等)が正しく実行されたかを監査する。
遵守 / 理由付きスキップ / 違反
AuditorはOpusモデルで動作し、セッション中の作業とは独立した視点で監査する。POやOrchestratorの判断を客観的に評価する。
Day Boundary
前回セッションの日付と現在日付が異なる場合、日跨ぎが発生する。Session Managerが検出し、POがユーザーに選択肢を提示する。