M13 vollständig abgeschlossen: V2.0-Freigabe (AP-001 bis AP-009)

- AP-001: Betriebs- und Startdokumentation für GUI und headless
  konsolidiert (betrieb.md, README.md)
- AP-002: Endbenutzer-Bedienanleitung gui-bedienanleitung.md angelegt
  (deskriptiv, 13 Kapitel, deutsch, Windows-Hinweise)
- AP-003: Konfigurationsbeispiele docs/examples/application.properties
  und docs/examples/prompt.txt konsolidiert, konsistent mit Standardvorlage
- AP-004: Regressionstests für headless Abwärtskompatibilität
  (JAR-Smoke-IT mit --config-Varianten und JavaFX-Freiheit)
- AP-005: GUI-Smoke-Tests für V2.0-Kernumfang vervollständigt
  (Startup-Notice-Sichtbarkeit im Header)
- AP-006: Build- und Packaging-Dokumentation im Abschnitt
  "Build und Packaging" in betrieb.md, README-Artefaktnamen korrigiert
- AP-007: Integrierte Gesamtprüfung durchgeführt, V2.0-Abschnitt in
  befundliste.md — keine Release-Blocker, zwei nicht blockierende
  Restpunkte (R1 ByteBuddy-Warning, R2 fehlender visueller GUI-Render-Test)
- AP-008: entfiel (keine Release-Blocker zu beheben)
- AP-009: Finale Gesamtprüfung, Freigabedokument docs/freigabe-v2_0.md
  mit Git-HEAD, Build-/Test-Ergebnissen, Freigabeaussage. Ein während
  der Stichprobe entdeckter Doku-Defekt (R3: API-Key-Legacy-Variable)
  wurde unmittelbar in gui-bedienanleitung.md korrigiert.

V2.0 ist freigabefähig. 1.403 Tests grün, 0 Failures, 0 Errors.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-04-20 22:50:51 +02:00
parent 1bb7a42735
commit 016da8318d
10 changed files with 1399 additions and 21 deletions
+94
View File
@@ -0,0 +1,94 @@
# V2.0-Freigabe
## Geprüfter Stand
- Git-Branch: `main`
- Git-Commit (HEAD, zum Zeitpunkt der Prüfung): `1bb7a427357c73039c09a8e1bfe351dee54df765`
- Datum der Prüfung: 2026-04-20
---
## Ausgeführte Prüfungen
| Prüfung | Ergebnis |
|---|---|
| Vollständiger Maven-Reactor-Build (`clean verify`, alle 6 Module, `-DskipPitest=true`) | **ERFOLGREICH** |
| Unit-Tests gesamt | **1.398 Tests, 0 Failures, 0 Errors, 0 Skipped** |
| Integrations-/Smoke-Tests (`ExecutableJarSmokeTestIT`, Bootstrap) | **5 Tests, alle grün** |
| Shaded-JAR erzeugt unter `pdf-umbenenner-bootstrap/target/` | **ja** |
| Konfigurations- und Dokumentationsbeispiele auf Konsistenz geprüft | **ja** |
| Bedienanleitung (`gui-bedienanleitung.md`) gegen reales GUI-Verhalten stichprobengeprüft | **ja ein während der Prüfung identifizierter Befund wurde unmittelbar korrigiert (siehe R3)** |
---
## 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**
**Laufzeit: 01:15 min**
| 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` (Unit) | 147 | 0 | 0 | 0 |
| `pdf-umbenenner-bootstrap` (IT) | 5 | 0 | 0 | 0 |
| **Gesamt** | **1.403** | **0** | **0** | **0** |
Erzeugtes Shaded-JAR: `pdf-umbenenner-bootstrap/target/pdf-umbenenner-bootstrap-0.0.1-SNAPSHOT.jar`
Größe: ca. 28 MB (enthält JavaFX für Windows, PDFBox, SQLite-JDBC, Log4j2 und alle Module)
---
## Offene nicht blockierende Restpunkte
Die folgenden Restpunkte wurden in der integrierten Gesamtprüfung dokumentiert und
gelten als freigabekompatibel.
### R1 ByteBuddy-Agent-Warnung bei Tests
Beim Build erscheint wiederholt `WARNING: A Java agent has been loaded dynamically
(byte-buddy-agent-1.14.12.jar)`. Der Hinweis stammt von Mockito und tritt seit dem V1.1-Stand
auf. Kein funktionaler Einfluss. Mit `-XX:+EnableDynamicAgentLoading` unterdrückbar, aber keine
Pflicht für V2.0.
### R2 GUI-Tests ohne echten JavaFX-Rendering-Pfad
Die GUI-Tests laufen unter headless JavaFX (Monocle) und prüfen View-Modell-Logik,
Zustandsübergänge und Koordinatoren-Verhalten. Das visuelle Rendering (Farbgebung der
Meldungspräfixe, Layout-Details) ist nicht automatisiert geprüft. Dies entspricht der in
CLAUDE.md definierten GUI-Teststrategie (kein TestFX über Monocle hinaus).
### R3 Bedienanleitung: Legacy-Umgebungsvariable für OpenAI-kompatibel (behoben)
**Ursprünglicher Befund:** Abschnitt 10 der `gui-bedienanleitung.md` beschrieb
`OPENAI_COMPATIBLE_API_KEY` fälschlich als Legacy-Umgebungsvariable. Tatsächlich ist
`OPENAI_COMPATIBLE_API_KEY` die primäre providerspezifische Umgebungsvariable, und die
echte Legacy-Umgebungsvariable lautet `PDF_UMBENENNER_API_KEY`.
**Status:** Korrigiert. Abschnitt 10 benennt jetzt `OPENAI_COMPATIBLE_API_KEY` als
primäre Variable und `PDF_UMBENENNER_API_KEY` als Legacy-Variable und hält fest, dass
Claude keine Legacy-Variable hat.
**Kein Release-Blocker und im V2.0-Freigabestand nicht mehr offen.**
---
## Freigabeaussage
V2.0 ist nach Prüfung fehlerfrei buildbar, vollständig nach Spezifikation umgesetzt
und als freigabefähig einzustufen. Keine Release-Blocker. Die zwei nicht blockierenden
Restpunkte (R1, R2) sind dokumentiert und können außerhalb des V2.0-Scopes adressiert
werden; R3 wurde während der finalen Prüfung unmittelbar behoben.
Der vollständige Maven-Reactor-Build ist grün (1.403 Tests, 0 Failures, 0 Errors,
0 Skipped). Alle in der integrierten Gesamtprüfung definierten Spezifikations-
Prüfpunkte gegen die Spec-Trias sind als erfüllt bestätigt. Die Dokumentation ist
vollständig und konsistent mit dem Code.