# Portabilität: UNIVERSAL
# Version: 1.1.0
# Zuletzt validiert: 2026-05-10

SHUTDOWN - Session beenden
==========================

BESCHREIBUNG
Das Shutdown-Protokoll beendet eine BACH-Session, speichert den
Session-Bericht und aktualisiert den Directory-Zustand.

BEFEHLE
-------
bach --shutdown              Komplett-Shutdown (Standard)
bach --shutdown "Summary"    Mit Session-Zusammenfassung
bach --shutdown quick        Schnell ohne Dir-Scan
bach --shutdown emergency    Notfall - nur Zustand sichern
bach --shutdown --partner=NAME  Partner-spezifischer Shutdown (v1.1.71)

SHUTDOWN-TYPEN
--------------
KOMPLETT (Standard):
- Directory-Scan aktualisieren
- Auto-Snapshot bei >= 3 Änderungen
- Session in DB speichern
- Task-Statistik zaehlen

QUICK:
- Keine Dir-Scan-Aktualisierung
- Speichert kurze Notiz
- Für Pausen wenn Session bald weitergeht

EMERGENCY:
- Nur Emergency-Notiz speichern (Priorität 10)
- Bei Abbruch/Timeout verwenden
- Minimal-Sicherung des Zustands

ABLAUF KOMPLETT (v1.1.17)
-------------------------
1. [DIRECTORY SCAN]
   - SOLL-Zustand aktualisieren
   - Änderungen dokumentieren

2. [AUTO-SNAPSHOT] *** NEU v1.1.17 ***
   - Bei >= 3 Änderungen: Automatischer Snapshot
   - Name: auto_YYYYMMDD_HHMMSS
   - Fortsetzen: bach snapshot load

3. [SESSION SPEICHERN]
   - Session in memory_sessions abschließen
   - Summary wird gespeichert
   - Auto-Memory Fallback (v1.1.15):
     Wenn kein Summary gegeben -> aus Autolog generieren

4. [MEMORY STATUS]
   - Zeigt Working/Facts/Sessions Zaehler

5. [TASK-STATISTIK] *** v1.1.14 ***
   - Zaehlt erstelle/erledigte Tasks
   - Speichert in memory_sessions

OUTPUT-BEISPIEL
---------------
=======================================================
          COMPLETE SHUTDOWN
=======================================================
 Zeit: 2026-01-22 13:15
=======================================================

[DIRECTORY SCAN]
 SOLL-Zustand aktualisiert (5 Änderungen)

[AUTO-SNAPSHOT]
 [OK] Auto-Snapshot erstellt (5 Änderungen)

[SESSION SPEICHERN]
 [OK] Session session_20260122_1300 abgeschlossen

[MEMORY STATUS]
 Working: 3 | Facts: 5 | Sessions: 12

[TASK-STATISTIK]
 +2 erstellt, 1 erledigt (diese Session)

=======================================================
 Session BEENDET
=======================================================

SESSION-BERICHT SPEICHERN
-------------------------
VOR Shutdown den Session-Bericht speichern:

  bach --memory session "THEMA: Was gemacht. NAECHSTE: Was kommt."

Oder Summary direkt beim Shutdown angeben:

  bach --shutdown "Help-Dateien aktualisiert. NEXT: memory.txt prüfen"

WICHTIG: Session-Berichte gehören in memory_sessions (DB),
         NICHT in memory/archive/*.md Dateien!

AUTO-MEMORY FALLBACK (v1.1.15)
------------------------------
Wenn Claude keinen Summary angibt, wird automatisch einer
aus dem Autolog generiert. Format:

  [AUTO-FALLBACK] Befehle: 15 (8 unique) || task list, memory read, ...

Dies ist ein Sicherheitsnetz - manueller Summary ist besser!

WANN WELCHER SHUTDOWN
---------------------
| Situation | Befehl | Grund |
|-----------|--------|-------|
| Aufgabe fertig | --shutdown | Vollständige Dokumentation |
| Kurze Pause | --shutdown quick | Schnell, bald weiter |
| Timeout/Abbruch | --shutdown emergency | Mindest-Sicherung |

DATEN-QUELLEN
-------------
- memory_sessions:  Session-Berichte, Tasks-Zaehler
- memory_working:   Emergency-Notizen
- session_snapshots: Auto-Snapshots

HANDLER
-------
hub/shutdown.py    Shutdown-Handler (DB-basiert)

PARTNER-SHUTDOWN (v1.1.71)
--------------------------
Bei Partner-Sessions wird der Partner automatisch ausgestempelt:

  bach --shutdown --partner=claude   Claude ausstempeln
  bach --shutdown --partner=gemini   Gemini ausstempeln

Die Stempelkarte (partner_presence Tabelle) wird aktualisiert:
  - status: online -> offline
  - clocked_out: Zeitstempel gesetzt

Ohne --partner wird "user" als Partner angenommen.

PROSYNC (bei Exit)
------------------
Wenn ProSync aktiviert ist (bach setup prosync --multi-system), wird
bei Session-Ende ein DB-Backup in den Transit-Hub geschrieben:
  - Push: Lokale DB als .bachdb-Backup exportieren
  - Ziel: OneDrive/.SYNC/bach_db_transit/
ProSync läuft via atexit-Hook in bach.py, nicht im Shutdown-Handler.
Details: bach --help db_sync

VERSIONSHISTORIE
----------------
v1.1.0   Basis-Shutdown mit Dir-Scan
v1.1.14  + Task-Statistik
v1.1.15  + Auto-Memory Fallback aus Autolog
v1.1.17  + Auto-Snapshot bei >= 3 Änderungen
v1.1.71  + Partner Clock-Out (Stempelkarte)

SIEHE AUCH
----------
bach --help startup        Session starten
bach --help memory         Memory-System (session, facts)
bach --help snapshot       Snapshots verwalten
bach --help tasks          Task-Management
bach --help db_sync        ProSync: Multi-System DB-Synchronisierung
