diff --git a/pdf-umbenenner-adapter-in-cli/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/cli/SchedulerBatchCommand.java b/pdf-umbenenner-adapter-in-cli/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/cli/SchedulerBatchCommand.java index af3eb02..dbc7b1a 100644 --- a/pdf-umbenenner-adapter-in-cli/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/cli/SchedulerBatchCommand.java +++ b/pdf-umbenenner-adapter-in-cli/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/cli/SchedulerBatchCommand.java @@ -12,15 +12,11 @@ import de.gecheckt.pdf.umbenenner.domain.model.BatchRunContext; * interface. It receives the batch run outcome and makes it available to the Bootstrap layer * for exit code determination and logging. *

- * AP-003 Implementation: Minimal no-op command to validate the call chain from CLI to Application. - *

- * M2-AP-002 Update: Returns {@link BatchRunOutcome} instead of boolean, - * allowing Bootstrap to systematically derive exit codes (AP-007). - *

- * M2-AP-003 Update: Accepts {@link BatchRunContext} and passes it to the use case, + * Returns {@link BatchRunOutcome} to allow Bootstrap to systematically derive exit codes. + * Accepts {@link BatchRunContext} and passes it to the use case, * enabling run ID and timing tracking throughout the batch cycle. *

- * M2-AP-005 Update: Dependency inversion achieved - this adapter depends only on the + * Dependency inversion achieved - this adapter depends only on the * BatchRunProcessingUseCase interface, not on any concrete implementation. Bootstrap * is responsible for injecting the appropriate use case implementation. */ diff --git a/pdf-umbenenner-adapter-in-cli/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/cli/package-info.java b/pdf-umbenenner-adapter-in-cli/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/cli/package-info.java index 97ce85a..a442ae4 100644 --- a/pdf-umbenenner-adapter-in-cli/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/cli/package-info.java +++ b/pdf-umbenenner-adapter-in-cli/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/cli/package-info.java @@ -8,10 +8,10 @@ * Components: *

*

- * M2-AP-005 Architecture: + * Adapter Architecture: *

*

@@ -41,7 +41,7 @@ import de.gecheckt.pdf.umbenenner.domain.model.SourceDocumentCandidate; *

  • All three values are combined into {@link PdfExtractionSuccess}
  • * *

    - * Technical error cases (AP-003): + * Technical error cases: *

    *

    - * Non-goals (handled in later APs): + * Out of scope (handled elsewhere): *

    - * - * @since M3-AP-003 */ public class PdfTextExtractionPortAdapter implements PdfTextExtractionPort { @@ -68,8 +66,8 @@ public class PdfTextExtractionPortAdapter implements PdfTextExtractionPort { *

    * The locator is expected to contain an absolute file path as a String (adapter-internal convention). *

    - * In M3-AP-003, all technical problems are reported as {@link PdfExtractionTechnicalError}. - * Fachliche Bewertungen like "text is not usable" are deferred to AP-004. + * All technical problems are reported as {@link PdfExtractionTechnicalError}. + * Fachliche Bewertungen like "text is not usable" are handled elsewhere. * * @param candidate the document to extract; must be non-null * @return a {@link PdfExtractionResult} encoding the outcome: @@ -113,12 +111,12 @@ public class PdfTextExtractionPortAdapter implements PdfTextExtractionPort { } // Extract text from all pages - // Note: extractedText may be empty string, which is valid in M3 (no fachliche validation here) + // Note: extractedText may be empty string, which is valid (no fachliche validation here) PDFTextStripper textStripper = new PDFTextStripper(); String extractedText = textStripper.getText(document); // Success: return extracted text and page count - // (Empty text is not an error in AP-003; fachliche validation is AP-004) + // (Empty text is not an error; fachliche validation is handled elsewhere) PdfPageCount pageCountTyped = new PdfPageCount(pageCount); return new PdfExtractionSuccess(extractedText, pageCountTyped); } finally { diff --git a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/pdfextraction/package-info.java b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/pdfextraction/package-info.java index cb7b791..d8032e3 100644 --- a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/pdfextraction/package-info.java +++ b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/pdfextraction/package-info.java @@ -1,11 +1,11 @@ /** * PDFBox-based adapter for PDF text extraction. *

    - * M3-AP-003: This package contains the sole implementation + * This package contains the sole implementation * of {@link de.gecheckt.pdf.umbenenner.application.port.out.PdfTextExtractionPort}, * using Apache PDFBox to extract text and page count from PDF documents. *

    - * Scope (AP-003): + * Scope: *

    *

    - * Restriction: + * Result types used: *

    *

    - * Out of scope (handled in later APs): + * Out of scope: *

    - * - * @since M3-AP-003 */ package de.gecheckt.pdf.umbenenner.adapter.out.pdfextraction; diff --git a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sourcedocument/package-info.java b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sourcedocument/package-info.java index c7aa2aa..089ab9d 100644 --- a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sourcedocument/package-info.java +++ b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sourcedocument/package-info.java @@ -1,12 +1,10 @@ /** * Source document adapters for discovering and accessing PDF candidates. *

    - * M3-AP-002 implementations: + * Implementations: *

    - * - * @since M3-AP-002 */ package de.gecheckt.pdf.umbenenner.adapter.out.sourcedocument; diff --git a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteDocumentRecordRepositoryAdapter.java b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteDocumentRecordRepositoryAdapter.java index 45ee143..aa7c108 100644 --- a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteDocumentRecordRepositoryAdapter.java +++ b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteDocumentRecordRepositoryAdapter.java @@ -34,8 +34,6 @@ import de.gecheckt.pdf.umbenenner.domain.model.SourceDocumentLocator; * Architecture boundary: All JDBC and SQLite details are strictly * confined to this class. No JDBC types appear in the port interface or in any * application/domain type. - * - * @since M4-AP-004 */ public class SqliteDocumentRecordRepositoryAdapter implements DocumentRecordRepository { diff --git a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteProcessingAttemptRepositoryAdapter.java b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteProcessingAttemptRepositoryAdapter.java index cf0badf..cdb129a 100644 --- a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteProcessingAttemptRepositoryAdapter.java +++ b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteProcessingAttemptRepositoryAdapter.java @@ -28,8 +28,6 @@ import de.gecheckt.pdf.umbenenner.domain.model.DocumentFingerprint; * Architecture boundary: All JDBC and SQLite details are strictly * confined to this class. No JDBC types appear in the port interface or in any * application/domain type. - * - * @since M4-AP-005 */ public class SqliteProcessingAttemptRepositoryAdapter implements ProcessingAttemptRepository { diff --git a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteSchemaInitializationAdapter.java b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteSchemaInitializationAdapter.java index 57991e3..0182f10 100644 --- a/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteSchemaInitializationAdapter.java +++ b/pdf-umbenenner-adapter-out/src/main/java/de/gecheckt/pdf/umbenenner/adapter/out/sqlite/SqliteSchemaInitializationAdapter.java @@ -15,7 +15,7 @@ import de.gecheckt.pdf.umbenenner.application.port.out.PersistenceSchemaInitiali /** * SQLite implementation of {@link PersistenceSchemaInitializationPort}. *

    - * Creates or verifies the M4 two-level persistence schema in the configured SQLite + * Creates or verifies the two-level persistence schema in the configured SQLite * database file. All DDL uses {@code IF NOT EXISTS} semantics, making the operation * fully idempotent: calling {@link #initializeSchema()} on an already-initialised * database succeeds without error and without modifying existing data. @@ -39,8 +39,6 @@ import de.gecheckt.pdf.umbenenner.application.port.out.PersistenceSchemaInitiali *

    All JDBC connections, SQL DDL, and SQLite-specific behaviour are strictly confined * to this class. No JDBC or SQLite types appear in the port interface or in any * application/domain type. - * - * @since M4-AP-003 */ public class SqliteSchemaInitializationAdapter implements PersistenceSchemaInitializationPort { @@ -49,7 +47,7 @@ public class SqliteSchemaInitializationAdapter implements PersistenceSchemaIniti /** * DDL for the document master record table. *

    - * Columns (M4 mandatory fields): + * Columns (mandatory fields): *

    * - * @since M3-AP-001 */ public interface SourceDocumentCandidatesPort { diff --git a/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/port/out/UnitOfWorkPort.java b/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/port/out/UnitOfWorkPort.java index 118b400..9decdeb 100644 --- a/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/port/out/UnitOfWorkPort.java +++ b/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/port/out/UnitOfWorkPort.java @@ -10,7 +10,6 @@ import java.util.function.Consumer; * Ensures that related persistence operations (such as saving a processing attempt * and updating a document record) are executed atomically. * - * @since M4-AP-006-fix */ public interface UnitOfWorkPort { diff --git a/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/port/out/package-info.java b/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/port/out/package-info.java index 9af4f2e..88bba34 100644 --- a/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/port/out/package-info.java +++ b/pdf-umbenenner-application/src/main/java/de/gecheckt/pdf/umbenenner/application/port/out/package-info.java @@ -4,17 +4,17 @@ * Outbound ports define the contracts for interacting with external systems and infrastructure. * All calls flow FROM the application OUT TO infrastructure adapters through these ports. *

    - * M2-AP-002 ports: + * Configuration and runtime ports: *

    *

    - * M3-AP-001 ports: + * Source document discovery and extraction ports: *

    *

    - * M4-AP-001 ports: + * Persistence and fingerprinting ports: *

    *

    - * M4-AP-001 value types and result types: + * Value types and result types: *