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


TUEV-HANDLER
============

Workflow-Qualitätssicherung und Testfall-Management für BACH-Workflows.
Der TUeV-Handler verwaltet den Status, die Gueltigkeit und die Qualitätsmetriken
von Workflows über ihre Lebenszyklen.


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

bach tuev     - Workflow-TUeV und Gueltigkeit
bach usecase  - Testfall-Definition und Ausführung


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

Der TUeV-Handler (Test, Überprüfen, Validierung) verwaltet:

  * Registrierung von Workflows in der Bach-Datenbank
  * Tracking der TUeV-Gueltigkeit (Standard: 90 Tage)
  * Übersicht über abgelaufene/bald fällige Workflows
  * Verwaltung von Testfaellen (Usecases) pro Workflow
  * Status und Qualitäts-Score pro Testfall

Der Handler arbeitet mit:
  * Datenbank: data/bach.db (workflow_tuev, usecases Tabellen)
  * Workflows: skills/workflows/ (*.md Dateien)
  * Test-Input/Output als JSON in DB


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

TUEV-OPERATIONEN:

  bach tuev
  bach tuev status        - Status aller Workflows anzeigen
  bach tuev check WFNAME  - Einzelnen Workflow und seine Usecases prüfen
  bach tuev run           - Alle abgelaufenen Workflows auflisten
  bach tuev renew WFNAME  - TUeV erneuern (90 Tage Gueltigkeit)
  bach tuev init          - Workflows aus skills/workflows/ registrieren

USECASE-OPERATIONEN:

  bach usecase list [WF]       - Alle oder gefilterte Testfaelle anzeigen
  bach usecase add WFNAME      - Neuen Testfall hinzufügen (SQL-Template)
  bach usecase show ID         - Testfall-Details mit Input/Output
  bach usecase run ID          - Testfall ausführen und prüfen
  bach usecase run-all WFNAME  - Alle Testfaelle eines Workflows ausführen


BEISPIELE
=========

1. Neue Workflows in DB aufnehmen:
   $ bach tuev init
   [TUeV] Workflows initialisiert
     Hinzugefügt: 5
     Übersprungen: 0

2. Status-Übersicht (sortiert nach Ablaufdatum):
   $ bach tuev status
   [WORKFLOW-TUeV] Status-Übersicht

   ABGELAUFEN (sofort prüfen!):
     [!] bugfix-protokoll           Score: 75% | Status: pending

   BALD FAELLIG (< 14 Tage):
     [~] data-pipeline              Score: 88% | 5d

   OK:
     [OK] main-workflow             Score: 92% | 30d

3. Workflow-Prüfung mit Usecases:
   $ bach tuev check bugfix-protokoll
   [TUeV] Prüfung: bugfix-protokoll
   Pfad: skills/workflows/bugfix-protokoll.md
   Status: pending
   Score: 75%

   Usecases: 2
     [?] Einfacher Testfall (?)
     [OK] Edge-Case mit Fehler (pass)

4. TUeV erneuern nach erfolgreicher Prüfung:
   $ bach tuev renew bugfix-protokoll
   [TUeV] bugfix-protokoll erneuert
     Gueltig bis: 2026-06-02

5. Neuen Testfall hinzufügen:
   $ bach usecase add data-pipeline
   SQL zum Einfügen:
   ---------------------
   INSERT INTO usecases (title, description, workflow_name, ...)

   Oder via GUI: /usecases

   Beispiel:
   $ bach db query "INSERT INTO usecases (...) VALUES (...)"

6. Testfall ausführen:
   $ bach usecase run 5
   [USECASE] Test #5: Einfacher Test
   [INFO] Manuelle Prüfung erforderlich.

   Ergebnis eintragen:
   $ bach db query "UPDATE usecases SET test_result='pass', test_score=90 WHERE id=5"


DATEIEN
=======

Relativ zu system/:

  data/bach.db                    - SQLite-Datenbank mit TUeV/Usecase-Tabellen
  skills/workflows/*.md          - Workflow-Dateien (werden initialisiert)
  hub/tuev.py                     - TuevHandler und UsecaseHandler Klassen


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

  bach db          - Direkte Datenbank-Abfragen
  hub/base.py      - BaseHandler Basis-Klasse
  skills/workflows/ - Verfügbare Workflow-Dateien
