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

FOLDERS - Ordner-Verwaltung und Zuordnungen
===========================================

Verwaltet die Zuordnung von Datenordnern zu Agenten und Experten in der BACH-
Datenbank. Speichert Metadaten wie Ordnertyp, Besitzer und Zugriffszeitpunkt.


BESCHREIBUNG
------------

Der folders Handler ermöglicht die zentrale Verwaltung von user_data_folders.
Ordner werden nach Typ kategorisiert (data, archive, export, temp) und können
Agent- oder Expert-Eigentuemer haben. Alle Änderungen betreffen nur die DB,
nicht das Dateisystem.


OPERATIONEN
-----------

  bach folders list                              Alle Ordner-Zuordnungen anzeigen
                                                 mit ID, Typ, Besitzer und Pfad

  bach folders add <pfad> [OPTIONS]              Neuen Ordner registrieren
    --type <type>                                Ordner-Typ: data, archive, export,
                                                 temp (default: data)
    --agent <name>                               Agent-Zuordnung (optional)
    --expert <name>                              Expert-Zuordnung (optional)

  bach folders remove <id>                       Ordner aus DB entfernen
                                                 (Dateien bleiben erhalten)

  bach folders move <id> <neuer_pfad>            Pfad in DB ändern
                                                 (Dateien nicht verschoben)


BEISPIELE
---------

  # Alle registrierten Ordner anzeigen
  bach folders list
  Ausgabe: Tabelle mit ID, Typ, Agent/Expert und Pfad

  # Neuen Daten-Ordner hinzufügen
  bach folders add "Projekte/Forschung"
  Ausgabe: [OK] Ordner hinzugefügt (ID: 23): Projekte/Forschung

  # Ordner mit Typ und Agent-Zuordnung
  bach folders add "Archive/Legacy" --type archive --agent archiveBot
  Ordner wird als Archiv registriert und Agenten zugewiesen

  # Ordner mit Expert-Zuordnung
  bach folders add "Expert-Daten" --type data --expert nlp_expert
  Ordner wird einem Experten zugewiesen

  # Ordner aus DB entfernen (Inhalt bleibt)
  bach folders remove 23
  Ausgabe: [OK] Ordner entfernt (ID: 23)

  # Ordner-Pfad ändern (z.B. nach Umbenennung)
  bach folders move 23 "Projekte/Forschung-v2"
  Ausgabe: [OK] Pfad aktualisiert (ID: 23): Projekte/Forschung-v2


DETAILS
-------

Ordner-Typen:
  data     - Allgemeine Arbeitsdaten (default)
  archive  - Archivierte/abgeschlossene Daten
  export   - Exportierte Ergebnisse
  temp     - Temporaere Arbeitsdaten

Zuordnungen:
  - Agent oder Expert (optional)
  - Agent-Namen muessen in bach_agents existieren
  - Expert-Namen muessen in bach_experts existieren
  - Fehler bei nicht existierenden Namen

Datenbankverhalten:
  - list: Verbundene Abfrage mit bach_agents und bach_experts
  - add: Gibt neue Ordner-ID zurück
  - remove: Löscht nur DB-Eintrag, nicht Dateisystem
  - move: Ändert folder_path und updated last_accessed Zeitstempel


FEHLERBEHANDLUNG
----------------

  Ungültiger folder_type: X                     Nur data/archive/export/temp
  Agent nicht gefunden: <name>                  Name in bach_agents nicht vorhanden
  Expert nicht gefunden: <name>                 Name in bach_experts nicht vorhanden
  Fehler: <id> erforderlich                     Argument fehlt
  Ordner nicht gefunden (ID: <id>)              Keine Zeile in Datenbank


DATEIEN
-------

  Handler: hub/folders.py
  Datenbank: bach.db (Tabelle: user_data_folders)
  Schema: id, folder_path, folder_type, agent_id, expert_id, created_at,
          last_accessed, dist_type


SIEHE AUCH
----------

  help agents              Agenten-Überblick und Struktur
  help experts             Expert-Verwaltung
  help bash_paths          Verzeichnisstruktur der BACH installation
