Titellänge nun parametrisierbar

This commit is contained in:
2026-04-22 09:53:03 +02:00
parent 088fd85572
commit 8286d0f0e5
74 changed files with 1450 additions and 236 deletions
@@ -8,7 +8,7 @@ import java.util.Objects;
* Functional failures occur when the AI returns a structurally valid response but the
* content violates the applicable fachliche rules, for example:
* <ul>
* <li>Title exceeds 20 characters</li>
* <li>Title exceeds the configured maximum base title length</li>
* <li>Title contains prohibited special characters</li>
* <li>Title is a generic placeholder (e.g., "Dokument", "Scan")</li>
* <li>AI-provided date is present but not a valid YYYY-MM-DD string</li>
@@ -18,8 +18,8 @@ import java.util.Objects;
* or is a fallback to the current system date.</li>
* <li>{@link #validatedTitle()} — the title extracted and validated from
* the AI response. Guaranteed to be non-null, non-empty, and compliant
* with documented title rules (max 20 base characters, no prohibited
* special characters, etc.).</li>
* with documented title rules (within the configured maximum base title
* length, no prohibited special characters, etc.).</li>
* <li>{@link #aiReasoning()} — the justification or explanation provided
* by the AI for its proposal. Non-null (may be empty in edge cases,
* though normally expected to be meaningful).</li>
@@ -39,7 +39,8 @@ import java.util.Objects;
* @param dateSource origin of the date ({@link DateSource#AI_PROVIDED} or
* {@link DateSource#FALLBACK_CURRENT}); never null
* @param validatedTitle the title validated per application rules (non-null, non-empty,
* max 20 base characters as defined in requirements)
* within the configured maximum base title length as defined in
* the application configuration)
* @param aiReasoning the AI's explanation for the proposal (non-null, may be empty)
*/
public record NamingProposal(