Files
pdf-umbenenner/docs/specs/V2_8_-_Spezifikation.md

8.7 KiB
Raw Permalink Blame History

V2.8 Selektive Wiederverarbeitung und Status-Reset in der Ergebnisliste

Status: Freigegeben
Erstellt: 2026-04-23
Überarbeitet: 2026-04-23 (nach zwei Reviews, finale Version)
Autor: Marcus (mit Claude als Mentor)


Ziel

V2.8 erweitert den Tab „Verarbeitungslauf" um die Möglichkeit, einzelne oder mehrere Dateien aus der Ergebnisliste gezielt erneut verarbeiten zu lassen oder deren DB-Status zurückzusetzen ohne die gesamte Datenbank löschen zu müssen.


Hintergrund

Bisheriger Zustand

  • Nach einem abgeschlossenen Lauf sind alle Ergebnisse in der Ergebnisliste sichtbar
  • Dateien mit Status FAILED_FINAL oder DONE können nur durch manuelles Löschen der SQLite-Datenbank erneut verarbeitet werden
  • Es gibt keine Möglichkeit, einzelne Dateien selektiv zurückzusetzen oder neu zu starten

Motivation

  • Nach Anpassung des Prompts oder Wechsel des KI-Modells sollen bereits verarbeitete Dateien erneut verarbeitet werden können ohne Datenverlust für andere Dokumente
  • Permanent fehlgeschlagene Dateien sollen nach Behebung der Ursache gezielt neu gestartet werden können
  • Zwei klar getrennte Aktionen decken unterschiedliche Anwendungsfälle ab: sofortige Wiederverarbeitung vs. Reset für den nächsten regulären Lauf

Zielbild

Nach Abschluss von V2.8 kann der Benutzer:

  1. Eine oder mehrere Dateien in der Ergebnisliste selektieren
  2. Per „Erneut verarbeiten" einen sofortigen Mini-Lauf nur für die selektierten Dateien starten
  3. Per „Status zurücksetzen" den DB-Status zurücksetzen ohne sofortige Verarbeitung die Dateien werden beim nächsten regulären Lauf automatisch mitgenommen

Fachliche Anforderungen

Selektion in der Ergebnisliste

  • Es gibt genau eine fachliche Selektion je Ergebniszeile
  • Checkbox, Zeilenklick, Shift/Strg und „Alle auswählen" wirken immer auf dieselbe Selektionsmenge
  • Jede Zeile erhält eine Checkbox am linken Rand
  • Shift/Strg-Mehrfachselektion wie im Windows Explorer ist möglich
  • Eine Checkbox „Alle auswählen" oberhalb der Liste selektiert/deselektiert alle Einträge
  • Alle Status sind selektierbar: ✔ erfolgreich, ⚠ retryable, ✘ permanent, ► übersprungen
  • Die Selektion bleibt erhalten bis ein neuer Lauf gestartet wird
  • Während eines laufenden Mini-Laufs ist die Selektion gesperrt Änderungen der Selektion nach Laufstart haben keinen Einfluss auf den laufenden Batch

Button „Erneut verarbeiten"

  • Aktion: DB-Status der selektierten Dateien zurücksetzen + sofortiger Mini-Lauf nur für diese Dateien
  • Aktiv wenn: Kein Lauf aktiv UND mindestens 1 Eintrag selektiert
  • Inaktiv wenn: Lauf läuft ODER keine Selektion
  • Verhalten:
    • Der Mini-Lauf arbeitet auf einem Snapshot der beim Klick selektierten Einträge
    • DB-Status aller selektierten Einträge wird zurückgesetzt
    • Sofort danach startet ein Mini-Lauf ausschließlich für diese Dateien
    • Die Ergebnisliste wird für die selektierten Einträge live aktualisiert
    • Nicht selektierte Einträge bleiben unverändert in der Liste
    • Der Mini-Lauf verhält sich fachlich wie ein regulärer Lauf gleiche Anwendungslogik, gleicher Use Case, nur eingeschränkte Dateimenge

Button „Status zurücksetzen"

  • Aktion: Nur DB-Status der selektierten Dateien zurücksetzen, keine sofortige Verarbeitung
  • Aktiv wenn: Kein Lauf aktiv UND mindestens 1 Eintrag selektiert
  • Inaktiv wenn: Lauf läuft ODER keine Selektion
  • Verhalten:
    • DB-Status aller selektierten Einträge wird zurückgesetzt
    • Kein sofortiger Lauf
    • Betroffene Zeilen bleiben in der Ergebnisliste sichtbar und erhalten die Kennzeichnung „Zurückgesetzt wartet auf nächsten Lauf"
    • Beim nächsten regulären Lauf werden die zurückgesetzten Dateien automatisch mitgenommen
  • Fehlerbehandlung: Reset läuft nach Best-effort-Prinzip erfolgreich zurückgesetzte Einträge werden zurückgesetzt, fehlgeschlagene bleiben im alten Status; der Meldungs- und Zusammenfassungsbereich zeigt:
    • Anzahl ausgewählter Einträge
    • Anzahl erfolgreich zurückgesetzt
    • Anzahl fehlgeschlagen
    • Bei Fehlern: betroffene Dateinamen im Meldungsbereich

Welche Status können zurückgesetzt werden

Alle Status sind zurücksetzbar:

UI-Status DB-Status Zurücksetzbar Verhalten im nächsten regulären Lauf
✔ Erfolgreich DONE Ja Wird erneut verarbeitet
⚠ Fehlgeschlagen retryable FAILED_RETRYABLE Ja Wird erneut verarbeitet
✘ Fehlgeschlagen permanent FAILED_FINAL Ja Wird erneut verarbeitet
► Übersprungen DONE Ja DB-Eintrag DONE wird zurückgesetzt, wird erneut verarbeitet

Verhalten bei vorhandener Zieldatei (Re-Run von DONE)

Wird eine bereits erfolgreich verarbeitete Datei erneut verarbeitet:

  • KI schlägt identischen Zieldateinamen vor und Zieldatei ist bereits vorhanden: Datei gilt als ✔ erfolgreich kein neuer Eintrag im Zielordner, kein Fehler
  • KI schlägt anderen Namen vor: Normale Verarbeitung Dubletten-Suffix (1), (2) wie im regulären Betrieb wenn nötig

Verhalten bei fehlender oder verschobener Quelldatei

Ist die Quelldatei zum Zeitpunkt des Mini-Laufs nicht mehr vorhanden:

  • Eintrag erhält Status ✘ permanent fehlgeschlagen
  • Meldung: „Quelldatei nicht gefunden: {Dateiname}"
  • Kein weiterer Retry

Verhalten während eines Mini-Laufs

  • Der Abbrechen-Button (Soft-Stop aus V2.7) gilt auch für den Mini-Lauf
  • Bei Soft-Stop:
    • Bereits erfolgreich verarbeitete Einträge behalten ihren neuen Endstatus
    • Noch nicht gestartete, aber bereits zurückgesetzte Einträge behalten den Status „Zurückgesetzt wartet auf nächsten Lauf" und werden beim nächsten regulären Lauf mitgenommen
    • Der Mini-Lauf endet im UI-Zustand „abgebrochen" mit Zusammenfassung
  • Tab 1 „Konfiguration" wird während des Mini-Laufs gesperrt
  • Fortschrittsbalken zeigt den Fortschritt des Mini-Laufs Nenner entspricht der Anzahl der selektierten Dateien
  • Während eines Mini-Laufs sind „Erneut verarbeiten" und „Status zurücksetzen" deaktiviert
  • Kein zweiter paralleler Lauf ist startbar

Scope dieser Funktion

Die Funktion gilt ausschließlich für Einträge der sichtbaren Ergebnisliste der aktuellen Sitzung. Beim Programmstart erfolgt keine Rekonstruktion der Ergebnisliste aus der DB.


Nicht in V2.8 enthalten

  • Historien-Tab / SQLite-Ansicht (V3.0)
  • Bearbeitung des KI-Titels in der GUI
  • Manuelles Überschreiben eines Ergebnisses
  • Massenoperationen außerhalb der Ergebnisliste
  • Automatischer Re-Run nach Konfigurationsänderung
  • Rekonstruktion der Ergebnisliste beim Programmstart

Abnahmekriterien

  • Jede Zeile der Ergebnisliste hat eine Checkbox
  • Checkbox und Zeilenklick repräsentieren dieselbe Selektionsmenge
  • Shift/Strg-Mehrfachselektion funktioniert wie im Windows Explorer
  • „Alle auswählen"-Checkbox selektiert/deselektiert alle Einträge
  • Alle vier Status sind selektierbar
  • Während eines laufenden Mini-Laufs kann die Selektion nicht verändert werden
  • Button „Erneut verarbeiten" ist nur aktiv wenn kein Lauf läuft und mindestens 1 Eintrag selektiert ist
  • Button „Status zurücksetzen" ist nur aktiv wenn kein Lauf läuft und mindestens 1 Eintrag selektiert ist
  • „Erneut verarbeiten" setzt DB-Status zurück und startet sofortigen Mini-Lauf nur für selektierte Dateien
  • Der Mini-Lauf verarbeitet genau die beim Start selektierten Einträge spätere Selektionsänderungen haben keinen Einfluss
  • „Status zurücksetzen" setzt nur den DB-Status zurück, betroffene Zeilen erhalten Kennzeichnung „Zurückgesetzt wartet auf nächsten Lauf"
  • Reset-Ergebnis zeigt Anzahl ausgewählter, erfolgreich zurückgesetzter und fehlgeschlagener Einträge
  • Bei identischem Zieldateinamen gilt der Eintrag nach Re-Run als ✔ erfolgreich
  • Fehlende Quelldatei führt zu ✘ permanent fehlgeschlagen mit Meldung
  • Mini-Lauf zeigt korrekten Fortschrittsbalken für die selektierte Dateimenge
  • Abbrechen-Button (Soft-Stop) funktioniert auch während eines Mini-Laufs
  • Nach Soft-Stop: bereits verarbeitete Einträge behalten neuen Status, nicht gestartete bleiben „Zurückgesetzt"
  • Tab 1 ist während des Mini-Laufs gesperrt
  • Nicht selektierte Einträge bleiben nach „Erneut verarbeiten" unverändert in der Liste
  • Beim nächsten regulären Lauf nach „Status zurücksetzen" werden zurückgesetzte Dateien mitgenommen
  • Während eines Mini-Laufs sind beide Buttons deaktiviert
  • headless-Betrieb ist unverändert funktionsfähig
  • mvn clean verify ist grün