# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

セッション ハンドラー
---------------

ハンドラー名
------------

session - BACH のセッション管理 (SESSION_001-006)

説明
------------

セッション ハンドラーは、実行時追跡を使用して作業セッションを管理します。
タスク管理と状況認識型思考。スタートアップを統合する
プロセスをシャットダウンし、残り時間を計算して警告します
セッション終了。最適化のためのタスク間のチェックをサポート
タスクの依存関係とブロック。

OPERATIONS
-----------

start セッションの開始 (StartupHandler に委任)
status 思考の材料としてアクティブなセッションのステータスを表示します
end セッションの終了 (ShutdownHandler に委任)
時間の計算を確認: 期間、終了予定、残り
next タスク間チェックを含む次のタスク

チェック オプション:
  --duration / -d 残り時間を表示
  --set-duration=MIN セッション期間を分単位で設定します

例
---------

新しいセッションを開始します:
  bach session start

思考の材料としてステータスを表示します:
  bach session status

時間計算 (セッション終了時に警告あり):
  bach session check --duration

セッション期間を 180 分に設定します:
  bach session check --set-duration=180

チェック間の次のタスクを表示します:
  bach session next

セッションを終了:
  bach session end

FILES
-------

data/bach.db データベース ソース (テーブル:
                                 Memory_sessions、tasks、memory_lessons)

data/user_config.json セッション構成
                                 (session_duration_ minutes)

hub/session.py ハンドラーの実装

仕組み
--------------

1.ランタイム追跡: start_at からの継続時間を計算し、次の時点で警告します。
   計画された期間 (デフォルトは 120 分) を超えています。

2.思考の材料 (SESSION_003): 時間ベース (昼食、仕事後)、
   タスクベース（古い、ブロックされている、未完了）または一般
   (ドキュメント、レビュー、バックアップ)。

3.タスク間チェック (SESSION_006):
   - 依存関係が満たされたブロックされたタスクを検出します
   - 進行中のタスクを思い出させます
   - 5 つのタスクを完了した後に学んだ教訓

4。優先度 (P1 > P2 > P3) および経過時間によるタスクの推奨

関連項目
----------

hub/startup.py スタートアップ ハンドラー (セッションの初期化)
Hub/shutdown.py シャットダウン ハンドラー (セッション終了)
Hub/task.py タスク ハンドラー (タスク管理)
data/bach.db データベース スキーマ
