Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.3 KiB
V2.9-Freigabe
Geprüfter Stand
- Git-Branch:
main - Git-Commit (HEAD, zum Zeitpunkt der Prüfung):
6ff463b7efd935960c246dd48f9c55906699a82d - Datum der Prüfung: 2026-04-28
Umfang gegenüber V2.0
V2.9 ist die erste umfangreiche Funktionserweiterung nach dem V2.0-Abschluss. Der Schwerpunkt liegt auf dem neuen Tab „Verarbeitungslauf", der PDF-Vorschau, dem editierbaren Dateinamen-Bereich und der Kommunikation von Verarbeitungsergebnissen an den Benutzer.
Neu in V2.9
| Thema | Issues | Beschreibung |
|---|---|---|
| Tab „Verarbeitungslauf" (Grundstruktur) | #20, #21 | Zweiter Tab mit Ergebnistabelle, Detailbereich und PDF-Vorschau; Anwendungs-Icon und System-Tray |
| PDF-Vorschau (PDFBox-Migration) | #27, #29 | Direktes Rendering via PDFRenderer.renderImageWithDPI; Lazy Rendering mit In-Memory-Cache; Mausrad-Navigation |
| Vollbild-Start | #28 | stage.setMaximized(true) beim GUI-Start |
| Letzte Konfiguration automatisch laden | #33 | java.util.prefs.Preferences (lastConfigPath) |
| Historischer Dateiname für SKIPPED-Dokumente | #41 | Spalte „Neuer Dateiname" zeigt historischen KI-Vorschlag für übersprungene Einträge |
| Detailbereich für SKIPPED-Zeilen | #30 | GuiHistoricalDocumentContextPort liefert historischen Kontext; Detailbereich zeigt Datum, Name und Reasoning aus früherem Lauf |
| Manuelle Dateinamen-Eingabe (nicht verarbeitete Dateien) | #31 | Dateiname-Editor für FAILED_RETRYABLE, FAILED_PERMANENT, SKIPPED_FINAL_FAILURE zur manuellen Kopie |
| Benutzerfreundliche Fehlermeldungen | #43 | AiFailureMessageTranslator übersetzt technische Fehler für FAILED-Einträge ins Deutsche |
| Differenzierte Status-Icons mit Farben | #44 | Unicode-Symbole ✓ ↻ × ≡ ⊘ ⟳ mit farbiger CSS-Darstellung statt Emoji |
| Einzelinstanz-Schutz | #35 | Loopback-ServerSocket verhindert parallele Instanzen; zweite Instanz beendet sich sofort |
| UX-Fixes im Detailbereich | #39, #40, #45, #46, #47 | Abstände, Button-Deaktivierung, Hinweisbereich |
| Konfigurationsbereich kompakter | #24 | Layout-Optimierungen im Konfigurationstab |
| Legacy-Datumsformat-Behandlung | #48 | stringToInstant()-Fehlerbehandlung; korrekte Abschlussmeldung bei SKIPPED-only-Läufen |
| Prompt-Optimierung bei Zeichenlimit | #42 | Prompt weist KI explizit zur Kürzung auf konfiguriertes Zeichenlimit an |
Ausgeführte Prüfungen
| Prüfung | Ergebnis |
|---|---|
Vollständiger Maven-Reactor-Build (clean verify, alle 6 Module, -DskipPitest=true) |
ERFOLGREICH |
| Unit-Tests gesamt | siehe Tabelle |
Shaded-JAR erzeugt unter pdf-umbenenner-bootstrap/target/ |
ja |
| Architekturkonsistenz (kein JavaFX in Domain/Application, keine Adapter-zu-Adapter-Abhängigkeiten) | ja |
| Naming-Regel (keine M/AP/V-Bezeichner in Code) | ja |
Dokumentation (gui-bedienanleitung.md, betrieb.md) auf Konsistenz mit Implementierung geprüft |
ja |
Build- und Test-Ergebnisse
Ausgeführtes Kommando:
.\mvnw.cmd clean verify -pl pdf-umbenenner-domain,pdf-umbenenner-application,pdf-umbenenner-adapter-out,pdf-umbenenner-adapter-in-cli,pdf-umbenenner-adapter-in-gui,pdf-umbenenner-bootstrap --also-make -DskipPitest=true
Gesamtergebnis: BUILD SUCCESS
| Modul | Tests | Failures | Errors | Skipped |
|---|---|---|---|---|
pdf-umbenenner-domain |
227 | 0 | 0 | 0 |
pdf-umbenenner-application |
455 | 0 | 0 | 0 |
pdf-umbenenner-adapter-in-cli |
8 | 0 | 0 | 0 |
pdf-umbenenner-adapter-in-gui |
190 | 0 | 0 | 0 |
pdf-umbenenner-adapter-out |
371 | 0 | 0 | 0 |
pdf-umbenenner-bootstrap |
147 | 0 | 0 | 0 |
| Gesamt | 1.398 | 0 | 0 | 0 |
Bekannte Einschränkungen
#42 – Prompt-Kürzungsverhalten modellabhängig
Der Prompt weist die KI explizit an, bei Überschreitung des konfigurierten Zeichenlimits den Titel auf die zulässige Länge zu kürzen. Ob das Modell dieser Anweisung zuverlässig folgt, hängt vom eingesetzten Modell ab. Modelle mit schwacher Instruction-Following-Fähigkeit können das Limit ignorieren; in diesem Fall greift die bestehende serverseitige Validierung und der Versuch wird als Fehler klassifiziert.
Offene Punkte (für nachfolgende Stufen)
Die folgenden Issues sind bekannt, aber nicht Release-Blocker für V2.9:
| Issue | Thema |
|---|---|
| #7 | Persistenz-Browser / Historienansicht in der GUI |
| #22 | Kosten-Tracking und Token-Anzeige |
| #23 | Weitere KI-Provider jenseits Claude / OpenAI-kompatibel |
| #32 | Platzhalterbild in PDF-Vorschau bei fehlendem/ungültigem PDF |
| #34 | Dokumentation des Tab-„Verarbeitungslauf"-Bedienkonzepts vervollständigen |
| #44 | Icon-Farben unter bestimmten Windows-Systemthemen prüfen |
| #49 | Abbruch eines laufenden Verarbeitungslaufs aus der GUI |
| #50 | Fortschrittsanzeige während des Verarbeitungslaufs |
| #51 | Filter- und Sortierfunktion in der Ergebnistabelle |
Freigabeaussage
V2.9 ist nach Prüfung fehlerfrei buildbar. Alle Kernanforderungen der hexagonalen Architektur sind eingehalten. Die fachliche Kernverarbeitung des PDF-Umbenenners bleibt unverändert gegenüber V2.0. Keine Release-Blocker.
Der vollständige Maven-Reactor-Build ist grün (1.398 Tests, 0 Failures, 0 Errors,
0 Skipped). Die Dokumentation (gui-bedienanleitung.md, betrieb.md) ist auf
den V2.9-Stand gebracht. Die bekannte Einschränkung (#42) ist dokumentiert
und kein funktionaler Defekt.