9.4 KiB
M3 - Arbeitspakete
Geltungsbereich
Dieses Dokument beschreibt ausschließlich die Arbeitspakete für den definierten Meilenstein M3 – Dateisystemzugriff, Kandidatenermittlung und PDF-Textauslese.
Die Arbeitspakete sind so geschnitten, dass jedes Paket in einem Durchgang von einer KI umgesetzt werden kann und danach wieder ein fehlerfreier, buildbarer Stand vorliegt.
Die Meilensteine M1 und M2 werden als vollständig umgesetzt vorausgesetzt.
Konsistenz- und Schnittregeln
- Jedes Arbeitspaket liefert einen in sich geschlossenen, fehlerfreien Zwischenstand.
- Die Reihenfolge ist verbindlich, weil jedes Paket auf dem vorherigen Stand aufbaut.
- Der Fokus bleibt strikt auf M3.
- Es erfolgt kein Vorgriff auf spätere Meilensteine.
- Insbesondere sind in M3 noch nicht enthalten:
- Fingerprint-Berechnung
- SQLite-Persistenz
- Idempotenzlogik über frühere Läufe
- KI-Anbindung
- Prompt-Laden oder Prompt-Verarbeitung
- Validierung von KI-Antworten
- Dateinamensbildung
- Zielkopie in den Zielordner
- laufübergreifende Retry-Logik
AP-001 Dateikandidat-Modell und Ports für Quellzugriff und PDF-Auslese
Ziel
Die für M3 nötigen fachnahen Kernobjekte sowie die neuen Outbound-Ports werden architekturtreu eingeführt.
Inhalt
- minimale Domain- bzw. Application-Typen für den M3-Kontext anlegen, insbesondere für:
- Quelldokument bzw. Verarbeitungskandidat
- extrahierten Dokumenttext
- Seitenzahl
- fachlich-technische Bewertung des Extraktionsergebnisses
- Outbound-Ports für M3 definieren, insbesondere für:
- Quellordnerzugriff
- PDF-Text- und Seitenzahlextraktion
- Port-Signaturen so schneiden, dass Dateisystem und PDFBox weiterhin ausschließlich in Adapter-Out verbleiben
- klare Abgrenzung sicherstellen: keine Persistenz, keine KI, keine Zielkopie und keine Dateinamensbildung in Domain oder Application
- JavaDoc und
package-infofür neue Verantwortlichkeiten und Architekturgrenzen ergänzen
Fertig wenn
- die M3-relevanten Kernobjekte und Ports vorhanden sind
- die neuen Typen frei von Infrastrukturabhängigkeiten sind
- der Build weiterhin fehlerfrei ist
AP-002 Dateisystem-Adapter für Quellordnerzugriff und Kandidatenermittlung
Ziel
Der Batch-Lauf kann den konfigurierten Quellordner technisch lesen und daraus PDF-Verarbeitungskandidaten bestimmen.
Inhalt
- Dateisystem-Adapter für den Quellordnerzugriff implementieren
- Kandidatenermittlung für PDF-Dateien gemäß fachlicher Regel umsetzen, dass PDFs im Quellordner Verarbeitungskandidaten sind
- die gelieferten Kandidaten in einer stabilen, für die Application nutzbaren Form bereitstellen
- technische Fehler beim Quellordnerzugriff kontrolliert in den Portvertrag überführen
- sicherstellen, dass noch keine Fingerprint-, Persistenz- oder KI-Logik in den Adapter einfließt
- JavaDoc für Quellordnerzugriff, Kandidatenermittlung und technische Grenzen ergänzen
Fertig wenn
- der Quellordner technisch ausgelesen werden kann
- PDF-Verarbeitungskandidaten über den definierten Port verfügbar sind
- der Stand ohne weitere M3-Funktionalität fehlerfrei buildbar bleibt
AP-003 PDFBox-Adapter für Textauslese und Seitenzahl
Ziel
Für einen einzelnen Verarbeitungskandidaten können Textinhalt und Seitenzahl technisch extrahiert werden.
Inhalt
- PDFBox-basierten Adapter für die PDF-Auslese implementieren
- Extraktion von Text und Seitenzahl in einem konsistenten Rückgabemodell bereitstellen
- technische Fehlerfälle aus PDF-Verarbeitung kontrolliert behandeln
- keine fachliche Benennungslogik, keine KI-Vorbereitung und keine Persistenz in den Adapter aufnehmen
- sicherstellen, dass der Adapter nur über den definierten Outbound-Port genutzt wird
- JavaDoc für PDF-Auslese, Seitenzahl und Fehlerverhalten ergänzen
Fertig wenn
- Text und Seitenzahl für ein PDF technisch extrahierbar sind
- PDFBox ausschließlich im Adapter-Out verankert ist
- der Build weiterhin fehlerfrei bleibt
AP-004 Konfigurierbares Seitenlimit und Bewertung „brauchbarer Text“
Ziel
Die M3-relevanten Inhaltsvorprüfungen werden fachlich-technisch sauber im Kern modelliert.
Inhalt
- M3-relevante Konfigurationswerte vervollständigen, insbesondere das Seitenlimit, soweit im bisherigen Stand noch nicht vollständig nutzbar
- Bewertungslogik für „brauchbaren Text“ im fachnahen Kern umsetzen
- Prüfung auf Seitenlimitüberschreitung umsetzen
- Ergebnis so modellieren, dass die Application zwischen verarbeitbaren und nicht verarbeitbaren Kandidaten unterscheiden kann
- festlegen und technisch absichern, dass bei fehlendem brauchbarem Text oder überschrittenem Seitenlimit die Verarbeitung dieses Dokuments an dieser Stelle endet
- keine KI-Schnittstelle und keine spätere Retry-/Persistenzlogik vorwegnehmen
- JavaDoc für Bewertungsregeln, Grenzen und Nicht-Ziele von M3 ergänzen
Fertig wenn
- brauchbarer Text und Seitenlimit technisch bewertbar sind
- nicht verarbeitbare PDFs sauber erkannt werden
- der Stand weiterhin ohne KI und Persistenz buildbar und startbar ist
AP-005 Integration in den Batch-Use-Case: Scannen, Extrahieren, Vorprüfen
Ziel
Der M2-No-Op-Batch-Lauf wird zu einem echten M3-Verarbeitungslauf erweitert, jedoch noch ohne KI und ohne Ergebnisdatei.
Inhalt
- bestehenden Batch-Use-Case so erweitern, dass er:
- den Quellordner scannt
- PDF-Kandidaten lädt
- pro Kandidat Text und Seitenzahl extrahiert
- die M3-Vorprüfungen ausführt
- ersten Metadatenfluss für einzelne Dokumente zwischen Adapter-In, Application und Adapter-Out herstellen
- verarbeitbare und nicht verarbeitbare Kandidaten im Ablauf sauber unterscheiden
- sicherstellen, dass der Lauf trotz fehlender Folge-Meilensteine kontrolliert endet
- keine Persistenz, keine Fingerprints, keine KI-Aufrufe und keine Zielkopie einführen
- JavaDoc für Ablaufgrenzen und den M3-Verarbeitungsrahmen ergänzen
Fertig wenn
- der Batch-Lauf den Quellordner tatsächlich verarbeitet
- pro PDF ein kontrollierter M3-Ablauf stattfindet
- noch keine Funktionalität aus M4+ vorweggenommen wurde
AP-006 Fehlerklassifikation im M3-Lauf und kontrolliertes Logging
Ziel
Die in M3 bereits fachlich relevanten Fehlerfälle werden im Lauf sauber eingeordnet und nachvollziehbar protokolliert.
Inhalt
- Fehlerfall „kein brauchbarer Text“ als deterministischen Inhaltsfehler im M3-Kontext abbilden
- Fehlerfall „Seitenlimit überschritten“ als deterministischen Inhaltsfehler im M3-Kontext abbilden
- Logging für Kandidatenerkennung, Extraktionsergebnis und Vorprüfungsentscheidungen schärfen
- sicherstellen, dass diese Fälle pro Dokument kontrolliert behandelt werden und den gesamten Lauf nicht unnötig abbrechen
- sicherstellen, dass aus diesen Fällen heraus keine Folgefunktionalität späterer Meilensteine angestoßen wird
- JavaDoc für Fehlersemantik und M3-spezifische Laufentscheidungen ergänzen
Fertig wenn
- die M3-Fehlerfälle nachvollziehbar behandelt und geloggt werden
- der Batch-Lauf bei gemischten Kandidaten kontrolliert weiterlaufen kann
- weiterhin keine KI-Anbindung oder Persistenz enthalten ist
AP-007 Bootstrap- und CLI-Anpassungen für den M3-Stand
Ziel
Der Programmeinstieg ist an den erweiterten M3-Lauf angepasst und der Gesamtstand bleibt als Batch-Anwendung sauber ausführbar.
Inhalt
- Bootstrap-Verdrahtung auf die neuen M3-Ports und Adapter erweitern
- CLI-/Batch-Startpfad auf den M3-Verarbeitungsablauf ausrichten
- Konfigurationsvalidierung für M3-relevante Parameter im Startpfad ergänzen, soweit für Quellordnerzugriff und Seitenlimit erforderlich
- sicherstellen, dass Startschutz, Exit-Code-Grundverhalten und kontrollierte Laufbeendigung aus M2 intakt bleiben
- Smoke-Verhalten des Programms für den M3-Stand nachvollziehbar halten
- JavaDoc und
package-infofür aktualisierte Verdrahtung und Modulgrenzen ergänzen
Fertig wenn
- das Programm im M3-Stand vollständig startbar ist
- die neuen Adapter korrekt verdrahtet sind
- der Batch-Lauf kontrolliert endet und der Build fehlerfrei bleibt
AP-008 Tests für Kandidatenermittlung, PDF-Auslese, Vorprüfungen und M3-Abschlussstand
Ziel
Der vollständige M3-Zielzustand wird automatisiert abgesichert und als konsistenter Übergabestand nachgewiesen.
Inhalt
- Unit-Tests für die Kandidatenermittlung von PDF-Dateien implementieren
- Tests für PDF-Textauslese und Seitenzahlerkennung implementieren
- Tests für die Bewertung „brauchbarer Text“ implementieren
- Tests für den Fehlerfall „Seitenlimit überschritten“ implementieren
- Tests ergänzen, die belegen, dass Dokumente mit fehlendem brauchbarem Text oder überschrittenem Seitenlimit im M3-Ablauf kontrolliert enden und keine Folgefunktionalität späterer Meilensteine auslösen
- Tests für Batch-Use-Case-Integration und Bootstrap-Verdrahtung ergänzen, soweit in M3 sinnvoll
- den M3-Stand abschließend auf Konsistenz, Architekturtreue und Nicht-Vorgriff auf M4+ prüfen
Fertig wenn
- die Test-Suite für den M3-Umfang grün ist
- der definierte M3-Zielzustand vollständig erreicht ist
- ein fehlerfreier, übergabefähiger Stand vorliegt
Abschlussbewertung
Die Arbeitspakete sind inhaltlich konsistent, widerspruchsfrei und sauber auf den Meilenstein M3 zugeschnitten. Sie decken den vollständigen Zielumfang von „Dateisystemzugriff, Kandidatenermittlung und PDF-Textauslese“ ab, ohne Inhalte späterer Meilensteine wie Fingerprint, Persistenz, KI-Integration, Dateinamensbildung oder Zielkopie vorwegzunehmen.