Commit Graph

56 Commits

Author SHA1 Message Date
marcus f4cfb5cbc0 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>
2026-04-22 15:29:06 +02:00
marcus 8884d15e69 Ändere Standard-Default für max.text.characters von 5000 auf 1000
Der bisherige Standard-Default von 5000 Zeichen löste gemäß Spezifikation
sofort eine starke Warnung in der GUI aus (Schwellenwert: >3000).
Dies ist nicht benutzerfreundlich.

Der neue Standard-Default ist 1000 Zeichen (unkritisch laut Spec).
Das entspricht einer besseren Balance zwischen KI-Input-Größe und
Benutzerwarnung beim Start.

Änderungen:
- GuiConfigurationTemplateFactory: Standardvorlage auf 1000 geändert
- Alle *.properties-Beispieldateien aktualisiert
- Dokumentation in gui-bedienanleitung.md ergänzt
- Betroffene Tests angepasst (etwa 10 Testdateien)
- Alle 206 Tests bestehen nach der Änderung

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-22 12:44:09 +02:00
marcus 3e1f59fd12 Fix Windows-Konsolen-Encoding für Log-Ausgaben (UTF-8 vs. CP850)
- log4j2.xml: charset="UTF-8" explizit auf beiden PatternLayout-Elementen
  (Console + RollingFile), damit Log4j2 unabhängig vom JVM-Standard UTF-8
  schreibt
- Batch-Dateien: chcp 65001 vor dem EXE-Aufruf, damit die Windows-Konsole
  die UTF-8-Bytes korrekt anzeigt
- docs/betrieb.md: neuer Abschnitt "Konsolen-Encoding unter Windows" mit
  Hinweis auf chcp 65001 und -Dstdout.encoding=UTF-8 für den direkten
  Standalone-JAR-Start

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 12:13:50 +02:00
marcus 8286d0f0e5 Titellänge nun parametrisierbar 2026-04-22 09:53:03 +02:00
marcus 8be1848ba9 Fix: Verarbeitung von PROPOSAL_READY bis SUCCESS in einem Lauf; log4j-core im GUI-Test-Classpath
Der Dokument-Processing-Coordinator finalisiert jetzt unmittelbar nach dem
Persistieren des PROPOSAL_READY-Versuchs im selben Lauf zur Zielkopie und zu
SUCCESS. Die Invariante "neuester PROPOSAL_READY-Versuch ist die fuehrende
Quelle" bleibt gewahrt: Pro Lauf entstehen zwei Historieneintraege
(PROPOSAL_READY, dann SUCCESS). Bootstrap-E2E-Tests auf Single-Run-Semantik
angepasst; die "kein neuer KI-Aufruf bei vorhandenem PROPOSAL_READY"-Invariante
ist weiterhin im Application-Unit-Test abgedeckt.

Zusaetzlich log4j-core als Test-Scope-Abhaengigkeit im GUI-Modul ergaenzt,
damit die "Log4j2 could not find a logging implementation"-Warnung im
Testlauf nicht mehr erscheint.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 17:26:21 +02:00
van Elst, Marcus 202088d1d3 Removed unused imports 2026-04-21 10:31:47 +02:00
marcus 016da8318d 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>
2026-04-20 22:50:51 +02:00
marcus 1bb7a42735 M12 vollständig abgeschlossen (AP-001 bis AP-008)
- AP-001: Prüf- und Korrektur-Kernobjekte (CheckpointId, CheckpointResult
  sealed interface, TechnicalTestReport mit Correction-Plan-Ableitung,
  CorrectionSuggestion sealed interface, PathCheckPort, ResourceCreationPort)
- AP-002: Aktion "Validieren" als explizite, nicht schreibende Gesamtprüfung
  des aktuellen Editorzustands
- AP-003: Provider-nahe technische Prüflogik für Endpoint, API-Key,
  Modellliste und Modellplausibilität — wiederverwendet den bestehenden
  Modellabruf-Port, kein zweiter HTTP-Pfad
- AP-004: Windows-Pfadprüfung mit ausdrücklicher Unterstützung gemappter
  Laufwerksbuchstaben (FilesystemPathCheckAdapter)
- AP-005: Aktion "Technische Tests ausführen" als vollständiger Gesamttest
  ohne Frühabbruch, Orchestrator sammelt Befunde aller Prüfblöcke
- AP-006: Schreibende Korrekturhilfen mit gesammeltem Bestätigungsdialog,
  CorrectionExecutionService, FilesystemResourceCreationAdapter
- AP-007: Automatische deutsche Standard-Prompt-Datei-Erzeugung,
  Default-Pfad neben der .properties-Datei, klare Fehlermeldung bei
  nicht beschreibbarem Zielpfad
- AP-008: Regressionstests für Gesamttest ohne Frühabbruch, ungespeicherte
  Editorzustände, Korrekturdialog, Prompt-Erzeugung, Windows-Pfade

Hexagonale Architektur durchgehend eingehalten, Domain und Application
bleiben infrastrukturfrei. Threadingmodell konsequent umgesetzt.
Naming-Regel und JavaDoc-Standard eingehalten.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-20 21:57:06 +02:00
marcus aa067a3165 M11 vollständig abgeschlossen (AP-001 bis AP-007)
- AP-001: Kernobjekte und Port-Verträge (ModelCatalog-Port, sealed
  Result-Typen, ApiKeyOrigin, GUI-Modell- und Meldungs-Records)
- AP-002: Provider-ComboBox, exklusiver Providerbereich,
  zustandsbewahrender Providerwechsel
- AP-003: HTTP-Adapter für Modellabruf (Claude, OpenAI-kompatibel)
  mit vollständigem Error-Mapping und Dispatcher im Bootstrap
- AP-004: Automatischer Modellabruf bei Providerwechsel, Aktion
  "Modelle neu laden", Umschaltung zwischen Modell-ComboBox und
  Modell-Textfeld, Worker-Thread-Kapselung
- AP-005: Automatische Editorvalidierung (Pflichtfelder,
  Warnschwellen max.text.characters, Plausibilitätshinweise
  max.pages, API-Key-Herkunftsauflösung mit Vorrangregel)
- AP-006: Zentraler Meldungsbereich mit vier Severity-Stufen,
  feldnahe rote Fehlermeldungen, API-Key-Herkunftsanzeige
- AP-007: Integrations- und Regressionstests, Timeout-Mapping-Tests,
  Replace-Semantik für wiederholte Modellabruf-Meldungen

Hexagonale Architektur eingehalten, Application- und Domain-Schicht
bleiben infrastrukturfrei. Threadingmodell konsequent umgesetzt.
Naming-Regel und JavaDoc-Standard durchgängig beachtet.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-20 20:31:15 +02:00
marcus bbb5c4da3a M10 vollständig abgeschlossen (AP-004 bis AP-007)
- AP-004: Speichern und Speichern unter mit .bak-Rotation,
  normalisierte .properties-Ausgabe, API-Key-Erhaltung bei leerem Feld
- AP-005: Dirty-State aus Editorzustand, Fenstertitel- und
  Header-Marker, Schutzdialog (Speichern/Verwerfen/Abbrechen)
  vor Neu/Öffnen/Schließen inkl. Close-Request-Handler
- AP-006: Vollständige Editoroberfläche mit allen Konfigurationswerten,
  native Pfad-Picker für Quell-/Zielordner, SQLite- und Prompt-Datei,
  Files.exists-Pfadprüfung auf Worker-Thread verlagert
- AP-007: Integrations- und Regressionstests für alle zentralen
  Bedienpfade, Writer-Threading-Contract dokumentiert und getestet

Hexagonale Architektur, Threadingmodell und Naming-Regel durchgehend
eingehalten. Keine Vorgriffe auf M11/M12.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-20 17:51:13 +02:00
marcus 01414fc732 M10 bis AP-003 2026-04-20 13:07:19 +02:00
marcus 3f149b2017 Erweiterung für V2.0: M9 umgesetzt 2026-04-13 13:36:54 +02:00
marcus 8a785f1baa Kleinere Korrekturen 2026-04-10 07:50:51 +02:00
marcus ca91749a04 PIT-Lücken in bootstrap gezielt geschlossen 2026-04-09 11:55:17 +02:00
marcus 9c8ba2170e Annotation Processing bewusst konfiguriert 2026-04-09 10:12:55 +02:00
marcus b13d8ba0e1 Deprecation-Warnung in Bootstrap-Tests bereinigt 2026-04-09 09:45:18 +02:00
marcus 7b7af28d12 "Unused Imports" aufgeräumt 2026-04-09 09:06:37 +02:00
marcus 5099ff4aca V1.1 Änderungen 2026-04-09 05:42:02 +02:00
marcus 03689802dd M8 Abschlussdokumentation und Betriebsdoku final geschärft 2026-04-08 17:09:53 +02:00
marcus d61316c699 M8 komplett umgesetzt 2026-04-08 16:30:13 +02:00
marcus 8d915e7ded M7 Bootstrap, Startvalidierung und Exit-Code-Verhalten finalisiert 2026-04-08 12:37:29 +02:00
marcus cab9fed5b0 M7 Logging-Sensitivität mit echten Log- und Persistenznachweisen
abgesichert
2026-04-08 10:52:59 +02:00
marcus f2bbc8a884 M7 Logging-Sensitivität mit echten Verhaltenstests abgesichert 2026-04-08 08:18:13 +02:00
marcus c7818ce920 M7 N2 Verhaltenstests für Logging-Sensitivität nachgezogen 2026-04-08 07:13:32 +02:00
marcus ac3662e758 M7 N2 Logging-Sensitivität produktiv verdrahtet und verifiziert 2026-04-08 06:26:54 +02:00
marcus e9e9b2d17a Umsetzung von Meilenstein M7 2026-04-07 17:26:02 +02:00
marcus 8bcd80d70a M6 komplett umgesetzt 2026-04-07 13:36:35 +02:00
marcus 2d7be60057 M4 Nachbearbeitung Bootstrap testseitig vervollständigt 2026-04-06 18:14:55 +02:00
marcus 707364d912 Optimierung: Maven- und POM-Hygiene gebündelt bereinigt 2026-04-06 09:03:21 +02:00
marcus 7bac60c66c Optimierung: Bootstrap- und Konfigurationsdokumentation punktuell
geschärft
2026-04-06 08:26:14 +02:00
marcus b5db3fb361 Optimierung: BootstrapRunner weiter lesbarer und klarer strukturiert 2026-04-06 08:09:28 +02:00
marcus 00daa9cb74 Nachbearbeitung: Konfigurationslade- und Parsefehler einheitlich
klassifiziert
2026-04-05 22:57:45 +02:00
marcus 94728c270f Optimierung: Konfigurationspakete kohärenter zugeschnitten 2026-04-05 11:17:33 +02:00
marcus 3657b0c3de Optimierung: Anwendungskonfiguration auf Minimalbedarf zugeschnitten 2026-04-05 09:45:31 +02:00
marcus 7764a50308 Nachbearbeitung: klassenbezogene Logger-Verdrahtung im Bootstrap
korrigiert
2026-04-04 14:59:14 +02:00
marcus 8e6d745e4b Nachbearbeitung: Logging aus der Application-Schicht entkoppelt 2026-04-04 14:31:14 +02:00
marcus deaa8c9fa3 Nachbearbeitung: verbliebene Meilensteinbezüge in BootstrapRunnerTest
entfernt
2026-04-04 14:21:58 +02:00
marcus 73824544b6 Nachbearbeitung: Konfigurationsgrenze architekturtreu in Richtung
Bootstrap verschoben
2026-04-04 14:17:34 +02:00
marcus dd5082bfef Optimierung: verbliebenen Meilensteinbezug in BootstrapRunner entfernt 2026-04-04 13:20:06 +02:00
marcus efb4d0b222 Optimierung: BootstrapRunner strukturell verschlankt 2026-04-04 13:15:46 +02:00
marcus 9ba29aaba5 Nachbearbeitung: Meilensteinbezüge aus Produktiv-JavaDoc und
package-info entfernt
2026-04-04 11:24:06 +02:00
marcus 62f9542e50 Nachbearbeitung: verbliebene M4-Referenzen nach Umbenennung bereinigt 2026-04-04 10:55:48 +02:00
marcus c3d207b742 Nachbearbeitung: M4DocumentProcessor fachlich neutral umbenannt 2026-04-04 10:43:31 +02:00
marcus a35ac5c8f1 M4 AP-007 Scope bereinigen und Startfehler-Test ergänzen 2026-04-03 13:33:01 +02:00
marcus 049aa361db M4 AP-006 AP-007-Scope im Bootstrap trennen 2026-04-03 10:56:22 +02:00
marcus 30f070f2a6 M4 AP-006 Rollback-Semantik und Bootstrap-Scope bereinigen 2026-04-03 09:32:47 +02:00
marcus d61299f892 M4 AP-006 Persistenzkonsistenz und Bootstrap-Scope korrigieren 2026-04-03 08:37:44 +02:00
marcus 00c4cf1e5c M4 AP-006 Idempotenz- und Persistenzlogik integrieren 2026-04-02 23:36:22 +02:00
marcus 60498ab3c8 Refactoring: Paketnamen und Klassennamen 2026-04-02 14:40:14 +02:00
marcus 7d5c21f14c Meilenstein-Präfixe aus Klassennamen entfernt 2026-04-02 09:11:52 +02:00