Ergaenze zweiten GUI-Tab fuer Verarbeitungslauf mit Live-Fortschritt
- Fuehrt neuen Inbound-Adapter-Subpfad batchrun/ mit Tab, Koordinator, Launcher-Port und Ergebniszeilen-Model ein; der Batch-Lauf laeuft auf einem Hintergrund-Worker, UI-Updates ausschliesslich via FX-Dispatcher. - Ergaenzt application.port.in um BatchRunProgressObserver, BatchRunCancellationToken, DocumentCompletionEvent/-Status und RunSummary; DefaultBatchRunProcessingUseCase und DocumentProcessingCoordinator melden Lauf-/Dokument-Ereignisse an den Beobachter und unterstuetzen Soft-Stop zwischen Kandidaten. - Verdrahtet BootstrapRunner so, dass die GUI den vollstaendigen Headless-Pipelinepfad (Migration, Validierung, Schema-Init, Lock, Use-Case) mit Observer und Cancellation ausfuehrt; headless-Verhalten bleibt unveraendert. - Editor-Workspace bettet den zweiten Tab ein, sperrt Tab 1 mit Hinweisbanner waehrend eines Laufs und fragt den Benutzer beim Schliessen waehrend eines laufenden Batches. - Fuegt Tests fuer Observer-Wiring, Koordinator-Lebenszyklus und Tab-Smoke-Verhalten ein; aktualisiert die GUI-Bedienanleitung und docs/betrieb.md auf den neuen Tab. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+75
-12
@@ -6,18 +6,17 @@ verwalten und technisch prüfen möchten.
|
||||
|
||||
---
|
||||
|
||||
## 1. Zweck und Scope der GUI in V2.0
|
||||
## 1. Zweck und Scope der GUI
|
||||
|
||||
Die GUI dient in V2.0 ausschließlich als:
|
||||
Die GUI gliedert sich in zwei feste Tabs:
|
||||
|
||||
- **Konfigurationseditor** für die `.properties`-Datei
|
||||
- **Validierungsoberfläche** für den aktuellen Konfigurationsstand
|
||||
- **Technische Test- und Diagnoseoberfläche** für Erreichbarkeit des Providers,
|
||||
Pfadprüfungen und Ressourcenverfügbarkeit
|
||||
- **Tab 1 „Konfiguration"** – Editor, Validierungsoberfläche und technische
|
||||
Test-/Diagnoseoberfläche für die `.properties`-Datei.
|
||||
- **Tab 2 „Verarbeitungslauf"** – Start eines Batch-Laufs aus der GUI mit
|
||||
Live-Fortschritt, Ergebnisliste und KI-Begründung je Dokument (siehe Abschnitt 13).
|
||||
|
||||
Die GUI enthält in V2.0 **keinen** manuellen Verarbeitungslauf. Das Starten eines
|
||||
Batch-Laufs aus der GUI ist erst ab einer späteren Ausbaustufe vorgesehen.
|
||||
Ebenso gibt es keinen Historien-Tab, keine Datenbankansicht und kein Kosten-Tracking.
|
||||
Weiterhin **nicht** enthalten sind ein Historien-Tab, eine Datenbankansicht und ein
|
||||
Kosten-Tracking — diese Ausbauten sind für spätere Stufen vorbehalten.
|
||||
|
||||
Der headless Batch-/Scheduler-Betrieb über `--headless` bleibt der einzige Weg,
|
||||
PDF-Dateien automatisiert zu verarbeiten.
|
||||
@@ -441,13 +440,77 @@ Die GUI wird offiziell nur unter **Windows** unterstützt.
|
||||
|
||||
---
|
||||
|
||||
## 13. Bekannte Einschränkungen V2.0
|
||||
## 13. Tab „Verarbeitungslauf" (live-Verfolgung)
|
||||
|
||||
Der zweite Tab „Verarbeitungslauf" startet einen Batch-Lauf direkt aus der GUI und
|
||||
zeigt dessen Fortschritt in Echtzeit an.
|
||||
|
||||
### Layout
|
||||
- **Fortschrittsbalken** mit Zähler (`n / m Dateien`) im Kopfbereich
|
||||
- **Ergebnisliste** (scrollbar) mit einer Zeile pro abgeschlossener Datei
|
||||
- **Seitenbereich** rechts neben der Liste für die KI-Begründung
|
||||
- **Meldungs- und Zusammenfassungsbereich** unter der Liste
|
||||
- Aktionsknöpfe **Starten** und **Abbrechen**
|
||||
|
||||
### Konfigurationsquelle
|
||||
Der Lauf verwendet ausschließlich den **zuletzt gespeicherten Stand** der
|
||||
`.properties`-Datei. Ungespeicherte Änderungen im Konfigurations-Editor fließen **nicht**
|
||||
in den Lauf ein. Vor dem Start muss die Konfiguration daher gespeichert sein.
|
||||
|
||||
### Start und Verlauf
|
||||
- Beim Start wird die Dateimenge **einmalig** bestimmt; der Nenner des Fortschrittsbalkens
|
||||
bleibt während des Laufs konstant.
|
||||
- Nach jeder abgeschlossenen Datei erscheint ohne manuellen Refresh eine neue Zeile mit
|
||||
den fünf Spalten **Status-Icon**, **Originaldateiname**, **Neuer Dateiname**, **Datum**
|
||||
und **Dauer**.
|
||||
- Für Fehler- und Übersprungen-Fälle wird bei den Spalten „Neuer Dateiname" und „Datum"
|
||||
ein Gedankenstrich `—` eingetragen.
|
||||
- Die Status-Icons folgen: ✅ erfolgreich, ⚠️ fehlgeschlagen (retryable),
|
||||
❌ fehlgeschlagen (permanent), ⏭️ übersprungen.
|
||||
- Ein Klick auf eine Zeile zeigt die KI-Begründung im Seitenbereich. Liegt keine
|
||||
Begründung vor, erscheint der Hinweistext „Für diesen Eintrag liegt kein KI-Reasoning
|
||||
vor.".
|
||||
- Nach Laufende erscheint die Zusammenfassung `X erfolgreich, Y fehlgeschlagen,
|
||||
Z übersprungen` im Meldungs- und Zusammenfassungsbereich.
|
||||
|
||||
### Soft-Stop
|
||||
Der Knopf **Abbrechen** löst einen **Soft-Stop** aus: die aktuell in Bearbeitung
|
||||
befindliche Datei wird vollständig fertig verarbeitet, anschließend wird der Lauf sauber
|
||||
beendet — keine halbfertigen Zustände in der SQLite-Datenbank.
|
||||
|
||||
### Sperre von Tab 1 während eines Laufs
|
||||
Während eines laufenden Verarbeitungslaufs ist Tab 1 „Konfiguration" gesperrt. Ein
|
||||
sichtbarer Hinweis erinnert daran, dass die Konfiguration während des Laufs nicht
|
||||
editierbar ist. Nach Abschluss, Abbruch oder einer unerwarteten Ausnahme wird Tab 1
|
||||
automatisch wieder freigegeben.
|
||||
|
||||
### Fenster schließen während eines Laufs
|
||||
Versucht der Benutzer das Fenster zu schließen, während ein Lauf aktiv ist, erscheint ein
|
||||
Hinweisdialog mit zwei Optionen:
|
||||
- **Nicht schließen** – der Lauf läuft unverändert weiter
|
||||
- **Lauf beenden und schließen** – ein Soft-Stop wird ausgelöst; nach Abschluss der
|
||||
aktuellen Datei schließt die Anwendung
|
||||
|
||||
### Grenzen und Hinweise
|
||||
- Pro Anwendungsinstanz ist genau **ein** Verarbeitungslauf gleichzeitig zulässig. Ein
|
||||
zweiter Startversuch während eines laufenden Laufs wird mit der Meldung „Ein
|
||||
Verarbeitungslauf ist bereits aktiv." verweigert.
|
||||
- Ein **gleichzeitiger externer headless Lauf** (Windows Task Scheduler) wird weder
|
||||
aktiv erkannt noch technisch geblockt. Der Benutzer ist selbst verantwortlich,
|
||||
parallele Läufe zu vermeiden.
|
||||
- Startet der Lauf mit einem leeren Quellordner, erscheint der Hinweis „Keine
|
||||
verarbeitbaren Dateien im Quellordner gefunden" und die Zusammenfassung
|
||||
`0 erfolgreich, 0 fehlgeschlagen, 0 übersprungen` wird eingetragen.
|
||||
|
||||
---
|
||||
|
||||
## 14. Bekannte Einschränkungen V2.x
|
||||
|
||||
| Einschränkung | Erläuterung |
|
||||
|---|---|
|
||||
| Kein manueller Verarbeitungslauf | Das Starten eines Batch-Laufs aus der GUI ist erst ab V2.1+ vorgesehen |
|
||||
| Kein Historien-Tab | Eine Ansicht der SQLite-Datenbank und Verarbeitungshistorie ist für spätere Ausbaustufen vorbehalten |
|
||||
| Kein Kosten-Tracking | Token-/Preisberechnungen sind für spätere Ausbaustufen vorbehalten |
|
||||
| Keine Erkennung externer Änderungen | Wird die `.properties`-Datei während einer GUI-Sitzung von außen geändert, erkennt die GUI dies nicht. Die GUI arbeitet weiterhin auf dem zuletzt geladenen Stand |
|
||||
| Keine Koordination mit parallelen headless Läufen | Läuft gleichzeitig ein headless Batch-Lauf, koordinieren sich GUI und headless Betrieb nicht. Schreibkonflikte können entstehen, wenn dieselbe `.properties`-Datei gleichzeitig über die GUI gespeichert und vom headless Lauf gelesen wird |
|
||||
| Keine Koordination mit parallelen headless Läufen | Ein gleichzeitiger externer headless Lauf wird nicht technisch geblockt. Schreibkonflikte sind nicht ausgeschlossen, wenn dieselbe `.properties`-Datei parallel genutzt wird |
|
||||
| GUI nur für Windows | Die GUI wird offiziell nur unter Windows unterstützt; der headless Betrieb ist für Windows Server geeignet |
|
||||
| Ergebnisliste nicht persistent | Die Ergebnisliste im Verarbeitungslauf-Tab existiert nur für den aktuellen Programmstart; nach Neustart ist die Liste leer |
|
||||
|
||||
Reference in New Issue
Block a user