# Portabilität: UNIVERSAL
# Version: 1.2.0
# Zuletzt validiert: 2026-05-13

STARTUP - Session starten
=========================

BESCHREIBUNG
Das Startup-Protokoll initialisiert eine BACH-Session mit allen
notwendigen Checks und zeigt den Kontext der letzten Session.

BEFEHL
------
bach --startup                    Komplettes Startprotokoll
bach --startup quick              Schnellstart (ohne Directory-Scan)
bach --startup mode <m>           Startup-Modus ändern (gui|text|dual|silent)
bach --startup --mode=<m>         Einmalig mit anderem Modus starten
bach --startup --partner=NAME     Partner-spezifische Session (NEU v1.1.38)

PARTNER-SESSIONS (v1.1.38)
--------------------------
Ermöglicht Partner-spezifisches Session-Management:

  bach --startup --partner=claude   Startet Claude-Session
  bach --startup --partner=gemini   Startet Gemini-Session
  bach --startup --partner=user     Standard (Default)
  bach --startup --partner=new      Generiert automatische ID (partner_HHMMSS)
  bach --startup --partner=simonAI  Neuer Partner mit eigenem Namen

VORTEILE:
- Vorherige Session desselben Partners wird automatisch geschlossen
- Parallele Sessions für verschiedene Partner möglich
- Verhindert "verwaiste" offene Sessions bei wiederholtem Startup
- Automatische Stempelkarte (Clock-In/Out) in partner_presence Tabelle

STEMPELKARTEN-SYSTEM (v1.1.71):
- Bei Startup: Partner wird automatisch eingestempelt
- Bei Shutdown: Partner wird automatisch ausgestempelt
- Partner-Awareness: Zeigt wer noch online ist
- Multi-LLM Protokoll V3: Aktiviert bei mehreren Partnern

NEUE PARTNER:
  # Mit eigenem Namen (empfohlen)
  bach --startup --partner=simonAI

  # Ohne Namen (generiert ID)
  bach --startup --partner=new      -> partner_143052
  bach --startup --partner=nameless -> partner_143052

BEISPIEL:
  # Gemini startet Arbeit
  bach --startup --partner=gemini --mode=silent

  # Später: Gemini startet neu -> alte Session wird geschlossen
  bach --startup --partner=gemini --mode=silent
  [AUTO-CLOSE] Vorherige GEMINI-Session beendet: session_20260126_...

  # Partner-Awareness zeigt:
  [PARTNER-AWARENESS]
   *** 1 ANDERE PARTNER ONLINE ***
     CLAUDE: Task_XYZ
   --> Protokoll V3 verwenden! (bach --help multi_llm)

DATENBANK:
  memory_sessions.partner_id speichert den Partner-Namen.
  partner_presence speichert Stempelkarte (online/offline/crashed).
  Default: "user" für manuelle Sessions.

NUTZERMODI (v1.1.37)
--------------------
BACH unterstützt 4 Startup-Modi:

  gui      GUI Dashboard öffnet im Browser (Standard)
  text     Nur Konsole, kein Browser
  dual     GUI + Konsole parallel
  silent   Nichts automatisch starten

Der Modus wird in data/user_config.json gespeichert.
Details: bach --help modes

PROSYNC (vor Startup-Protokoll)
-------------------------------
Wenn ProSync aktiviert ist (bach setup prosync --multi-system), führt
bach.py VOR dem Startup-Protokoll einen DB-Sync durch:
  - Pull: Neuere Backups aus dem Transit-Hub laden und mergen
  - Push (bei Exit): Eigenes Backup in den Transit-Hub schreiben
ProSync läuft in bach.py main(), nicht im Startup-Handler.
Details: bach --help db_sync

AGENT-RECOVERY-TIPP
-------------------
Wenn Agent-Starts oder Agenten-Smokes Teil des Startup-/Tageschecks sind,
liefert `bach agent doctor [name]` jetzt eine schnelle Preflight-Diagnose mit
Recovery-Hinweisen. Besonders nützlich vor `bach agent start ...` oder wenn ein
Agent-Fenster sofort wieder schließt:

  bach agent doctor ati
  bach agent doctor ati --json

ABLAUF (v1.1.31)
----------------
Das Startup-Protokoll führt folgende Schritte aus:

1. [DIRECTORY SCAN]
   - Prüft Änderungen seit letzter Session
   - Zeigt neue/gelöschte/geänderte Dateien
   - Wird bei "quick" übersprungen

2. [PROBLEMS FIRST]
   - Automatische Fehlermeldung (von CHIAH)
   - Zeigt Fehler der letzten 24 Stunden

3. [PATH HEALER CHECK] *** NEU v1.1.18 ***
   - Dry-Run Prüfung auf Pfadprobleme
   - Zeigt Dateien mit fehlerhaften Pfaden
   - Reparieren: bach --maintain heal --execute

4. [REGISTRY WATCHER] *** NEU v1.1.21 ***
   - Prüft DB/JSON Konsistenz
   - Zeigt fehlende Tabellen, ungueltige JSON
   - Details: bach --maintain registry

5. [SKILL HEALTH] *** NEU v1.1.21 ***
   - Validiert Skills und Agenten
   - Zeigt Probleme mit SKILL.md Dateien
   - Details: bach --maintain skills

6. [LETZTE SESSION]
   - Zeigt die letzte abgeschlossene Session
   - Tasks erstellt/erledigt
   - WICHTIG: "NAECHSTE SCHRITTE" = continuation_context

7. [SNAPSHOT VERFÜGBAR] *** NEU v1.1.17 ***
   - Zeigt letzten Snapshot (wenn heute erstellt)
   - Anzahl offener Tasks im Snapshot
   - Fortsetzen: bach snapshot load

8. [MEMORY CHECK]
   - Zaehlt Working Memory, Facts, Lessons
   - Zeigt letzte Notiz

9. [SESSION REGISTRIEREN]
   - Neue Session-ID wird in memory_sessions erstellt

10. [NACHRICHTEN]
    - Prüft ungelesene Nachrichten in MessageBox
    - Zeigt Absender und Betreff
    - Details: bach msg unread

11. [PERIODISCHE TASKS] *** NEU v1.1.18 ***
    - Zeigt fällige Recurring Tasks
    - Erstellen: bach --recurring check

12. [BACH SYSTEM-TASKS]
    - Zeigt offene/erledigte BACH Framework-Tasks
    - Top 3 nach Priorität (P1 > P2 > P3)
    - Alle: bach task list

13. [ATI AGENT]
    - Prüft ob ATI-Ordner existiert
    - Software-Entwickler-Agent Status

14. [LESSONS LEARNED]
    - Zeigt gespeicherte Lessons
    - Details: bach lesson last

15. [AUTOLOG]
    - Einträge aus system/data/logs/auto_log.txt
    - Letzte 3 Befehle
    - Mehr: bach --logs tail 20

16. [INJEKTOREN]
    - Zeigt aktive Injektoren

17. [STARTUP MODUS] *** NEU v1.1.37 ***
    - Zeigt aktuellen Modus (GUI/TEXT/DUAL/SILENT)
    - Startet GUI und/oder Konsole je nach Modus
    - GUI: http://127.0.0.1:8000 im Browser
    - Text: Neues Konsolenfenster mit bach.py

OUTPUT-BEISPIEL
---------------
=======================================================
         BACH SESSION STARTUP
=======================================================
 Zeit: 2026-01-22 13:10:15 (Thursday)
 Modus: GUI
 Partner: GEMINI
=======================================================

[AUTO-CLOSE] Vorherige GEMINI-Session beendet: session_20260122_...

[PATH HEALER]
 [!] 2 Dateien mit Pfadproblemen gefunden
   - example_file.py
 --> bach --maintain heal --execute zum Reparieren

[LETZTE SESSION]
 Session: session_20260122_1200
 Beendet: 2026-01-22 12:30
 Tasks: +3 erstellt, 2 erledigt
 Thema: Help-Dateien aktualisiert...

 *** NAECHSTE SCHRITTE ***
   P2: shutdown.txt aktualisieren
   P2: memory.txt prüfen

[SNAPSHOT VERFÜGBAR]
 Letzter: auto_shutdown_20260122_1230 (12:30)
 Tasks im Snapshot: 5
 --> bach snapshot load zum Fortsetzen

[PERIODISCHE TASKS]
 *** 1 TASK(S) FAELLIG ***
   [weekly_backup] Woechentliches Backup -> BACH
 --> bach --recurring check zum Erstellen

[BACH SYSTEM-TASKS]
 42 offen, 15 erledigt
 Top-Aufgaben:
   [93] P1 GUI: /api/skills Endpunkt...
   [94] P1 GUI: Skills-Dashboard...

=======================================================
 READY - Session gestartet

 HINWEIS: Bei Shutdown -> bach --memory session "..."
=======================================================

DATEN-QUELLEN
-------------
- memory_sessions:    Letzte Session, continuation_context
- memory_working:     Aktuelle Notizen
- memory_facts:       Persistente Fakten
- memory_lessons:     Lessons Learned
- session_snapshots:  Wiederherstellungspunkte
- tasks:              BACH System-Tasks
- messages:           MessageBox (bach.db)

HANDLER
-------
hub/startup.py    Startup-Handler (DB-basiert)

VERSIONSHISTORIE
----------------
v1.1.2   Basis-Startup mit Dir-Scan, Memory, Tasks
v1.1.17  + Snapshot-Anzeige
v1.1.18  + Path Healer, Recurring Tasks
v1.1.21  + Registry Watcher, Skill Health Monitor
v1.1.37  + Nutzermodi (gui, text, dual, silent)
v1.1.38  + Partner-Sessions (--partner=NAME, Auto-Close)

SIEHE AUCH
----------
bach --help modes          Nutzermodi (gui, text, dual, silent)
bach --help shutdown       Session beenden
bach --help memory         Memory-System
bach --help maintain       Wartungs-Tools (heal, registry, skills)
bach --help snapshot       Snapshots verwalten
bach --help tasks          Task-Management
bach --help db_sync        ProSync: Multi-System DB-Synchronisierung
bach --help install         Erstinstallation und Szenarien
