# Portabilität: SYSTEM
# Zuletzt validiert: 2026-05-17
# Nächste Prüfung: 2026-11-15

DAEMON - Hintergrund-Jobs und Scheduler
=======================================
HINWEIS: "bach daemon" ist ein Alias für "bach scheduler".
Aktuelle Dokumentation: bach --help scheduler

STAND: 2026-02-08 (Alias seit 2026-02-28)

WICHTIGE POLICY
---------------
**ALLE DAEMON-JOBS SIND STANDARDMÄßIG DEAKTIVIERT.**

Grund: Automatische Prozesse können mit aktiven Chat-Sessions
und dem Prompt Generator kollidieren. Jobs werden nur manuell
aktiviert wenn benötigt.

Der Daemon pausiert automatisch OneDrive-Sync während des Betriebs
um Sync-Konflikte zu vermeiden.

Siehe: docs/CONCEPT_daemon_policy.md

CLI-BEFEHLE
-----------
  bach daemon jobs              Alle Jobs anzeigen
  bach daemon status            Daemon-Status
  bach daemon doctor            Scheduler-Preflight und Recovery-Hinweise
  bach daemon start [--bg]      Scheduler starten (--bg für Hintergrund)
  bach daemon stop              Scheduler stoppen
  bach daemon run <ID>          Einzelnen Job manuell ausführen
  bach daemon logs [N]          Letzte Log-Einträge anzeigen (Standard: 20)

SESSION-SYSTEM [DEPRECATED]
---------------------------
  ⚠️  DEPRECATED seit 2026-05-17.
  Grund: Nutzte pyautogui für Tastatur-Simulation (Ctrl+Alt+Space, Paste, Enter).
  Erzeugte unkontrollierte Prompt-Injektionen in aktive Sessions.

  ERSATZ: Buddha Control API (:8081/api/chat) oder Claude Code /loop.

  Die CLI-Befehle existieren noch für Rückwaertskompatibilitaet:
  bach daemon session status                   Session-Status anzeigen
  bach daemon session doctor                   Session-Preflight und Recovery-Hinweise
  bach daemon session pause/resume/steer       Operator-Steuerung

JOB-TYPEN
---------
  interval    Wiederholung nach Zeitspanne (z.B. 24h, 30m)
  cron        Zeitplan-basiert (z.B. "0 2 * * *" = täglich 2 Uhr)
  event       Event-basierter Trigger (extern ausgelöst)
  manual      Nur manuell ausführbar
  chain       Verkettete Job-Ausführung (Chain-System)

Der Daemon prüft automatisch alle 5 Minuten auf fällige Recurring Tasks.

VERFÜGBARE JOBS (alle standardmäßig AUS)
-------------------------------------------
Hinweis: Job-Liste ist dynamisch. Aktuelle Jobs via: bach daemon jobs

Beispiel-Jobs:
  ID  Name                      Schedule    Funktion
  --  ------------------------  ----------  --------------------------------
  1   scanner                   60m         Software-Ordner nach Tasks scannen
  2   backup                    24h         Automatisches Backup
  3   inbox-scan                30m         Inbox-Ordner verarbeiten
  4   consolidate-weight        24h         Memory-Gewichtungen (Decay)
  5   consolidate-archive       24h         Alte Einträge archivieren
  6   consolidate-index         7d          Help/Wiki Index aktualisieren
  7   consolidate-compress      24h         Sessions komprimieren
  8   consolidate-we            7d          Woechentliche Konsolidierung
  9   Nightly Maintenance       cron 0 2    Naechliche Wartungskette
  10  Weekly Backup             cron 0 3 0  Woechentliches Backup

Connector-Jobs (v2.0, via bach connector setup-daemon):
  --  connector_poll_and_route  2m          Connectors pollen + Inbox-Routing
  --  connector_dispatch        1m          Ausgehende Queue mit Retry versenden

JOB MANUELL AUSFÜHREN
----------------------
Empfohlene Methode statt automatischem Scheduler:

  # Job einmalig ausführen
  bach daemon run 1         # Scanner einmal laufen lassen
  bach daemon run 2         # Backup einmal erstellen

  # Oder direkt den Befehl
  bach scan run             # Scanner
  bach backup create        # Backup
  bach consolidate run      # Konsolidierung

GUI
---
  http://127.0.0.1:8000/daemon    Daemon-Dashboard

  - Jobs aktivieren/deaktivieren
  - Manuell ausführen
  - Letzte Ausführungen sehen

SIEHE AUCH
----------
  docs/CONCEPT_daemon_policy.md   Daemon-Richtlinien
  docs/help/connector.txt              Connector-System (Queue, Retry)
  docs/help/maintain.txt               Wartungs-Tools
  docs/help/backup.txt                 Backup-System
  docs/help/consolidation.txt          Memory-Konsolidierung
