# Portabilität: UNIVERSAL
# Version: 1.0.0
# Zuletzt validiert: 2026-03-04

SESSION-HANDLER
===============

HANDLER-NAME
============

session - Session-Verwaltung für BACH (SESSION_001-006)

BESCHREIBUNG
============

Der session-Handler verwaltet Arbeitssitzungen mit Laufzeit-Tracking,
Task-Verwaltung und kontextbewussten Denkanstossen. Integriert Startup-
und Shutdown-Prozesse, berechnet verbleibende Zeit und warnt vor
Session-Ende. Unterstützt Between-Task-Checks zur Optimierung von
Task-Abhängigkeiten und Blockierungen.

OPERATIONEN
===========

start                  Session starten (delegiert an StartupHandler)
status                 Aktiven Session-Status mit Denkanstossen anzeigen
end                    Session beenden (delegiert an ShutdownHandler)
check                  Zeitberechnung: Laufzeit, geplantes Ende, Rest
next                   Nächster Task mit Between-Task-Checks

Check-Optionen:
  --duration / -d      Verbleibende Zeit anzeigen
  --set-duration=MIN   Sitzungsdauer in Minuten setzen

BEISPIELE
=========

Neue Session starten:
  bach session start

Status mit Denkanstossen anzeigen:
  bach session status

Zeitberechnung (mit Warnung bei Session-Ende):
  bach session check --duration

Sitzungsdauer auf 180 Minuten setzen:
  bach session check --set-duration=180

Nächsten Task mit Between-Checks anzeigen:
  bach session next

Session beenden:
  bach session end

DATEIEN
=======

data/bach.db                     Datenbankquelle (Tabellen:
                                 memory_sessions, tasks, memory_lessons)

data/user_config.json            Session-Konfiguration
                                 (session_duration_minutes)

hub/session.py                   Handler-Implementierung

FUNKTIONSWEISE
==============

1. Laufzeit-Tracking: Berechnet Dauer seit start_at, warnt bei
   Überschreitung der geplanten Dauer (Default 120 Min).

2. Denkanstossen (SESSION_003): Zeitbasiert (Mittag, Feierabend),
   Task-basiert (alt, blockiert, keine Erledigung) oder allgemein
   (Doku, Reviews, Backups).

3. Between-Task-Checks (SESSION_006):
   - Erkennt blockierte Tasks mit erfuellten Abhängigkeiten
   - Erinnert an in_progress Tasks
   - Lesson-Learned nach 5 abgeschlossenen Tasks

4. Task-Empfehlung nach Priorität (P1 > P2 > P3) und Alter

SIEHE AUCH
==========

hub/startup.py                   Startup-Handler (Session-Initialisierung)
hub/shutdown.py                  Shutdown-Handler (Session-Beendigung)
hub/task.py                      Task-Handler (Task-Management)
data/bach.db                      Datenbankschema
