1
0

M8 Abschlussdokumentation und Betriebsdoku final geschärft

This commit is contained in:
2026-04-08 17:09:53 +02:00
parent d61316c699
commit 03689802dd
26 changed files with 75 additions and 118 deletions

View File

@@ -63,7 +63,7 @@ class DefaultRetryDecisionEvaluatorTest {
@Test
void evaluate_subsequentContentErrors_alwaysReturnContentErrorFinal() {
// Any count >= 1 results in final (covers legacy M4-M6 data with higher counts)
// Any count >= 1 results in final (covers legacy data with higher counts)
for (int count = 1; count <= 5; count++) {
FailureCounters counters = new FailureCounters(count, 0);
@@ -185,7 +185,7 @@ class DefaultRetryDecisionEvaluatorTest {
@Test
void evaluate_transientError_legacyDataWithHigherCounts_finalizesCorrectly() {
// Existing M4-M6 data may have counter values beyond normal expectations;
// Existing legacy data may have counter values beyond normal expectations;
// the evaluator must still apply the threshold check consistently
FailureCounters counters = new FailureCounters(3, 5);

View File

@@ -124,7 +124,7 @@ class DocumentProcessingCoordinatorTest {
assertEquals(ProcessingStatus.PROPOSAL_READY, record.overallStatus());
assertEquals(0, record.failureCounters().contentErrorCount());
assertEquals(0, record.failureCounters().transientErrorCount());
// lastSuccessInstant is null in M5; it is set by the target-copy stage (M6)
// lastSuccessInstant is null after AI naming proposal; it is set only after the target-copy stage
assertNull(record.lastSuccessInstant());
assertNull(record.lastFailureInstant());
}
@@ -283,7 +283,7 @@ class DocumentProcessingCoordinatorTest {
// Counters unchanged on naming proposal success
assertEquals(0, record.failureCounters().contentErrorCount());
assertEquals(1, record.failureCounters().transientErrorCount());
// lastSuccessInstant is null in M5; it is set by the target-copy stage (M6)
// lastSuccessInstant is null after AI naming proposal; it is set only after the target-copy stage
assertNull(record.lastSuccessInstant());
}
@@ -599,7 +599,7 @@ class DocumentProcessingCoordinatorTest {
@Test
void process_knownDocument_namingProposalReady_lastSuccessInstantNullAndLastFailureInstantFromPreviousRecord() {
// Prüft, dass bei PROPOSAL_READY am known-Dokument lastSuccessInstant null bleibt
// (M6 setzt ihn erst nach der Zielkopie) und lastFailureInstant aus dem Vorgänger übernommen wird
// (wird erst nach der Zielkopie gesetzt) und lastFailureInstant aus dem Vorgänger übernommen wird
Instant previousFailureInstant = Instant.parse("2025-01-15T10:00:00Z");
DocumentRecord existingRecord = new DocumentRecord(
fingerprint,
@@ -621,7 +621,7 @@ class DocumentProcessingCoordinatorTest {
DocumentRecord updated = recordRepo.updatedRecords.get(0);
assertNull(updated.lastSuccessInstant(),
"lastSuccessInstant muss nach PROPOSAL_READY null bleiben (wird erst von M6 gesetzt)");
"lastSuccessInstant muss nach PROPOSAL_READY null bleiben (wird erst nach der Zielkopie gesetzt)");
assertEquals(previousFailureInstant, updated.lastFailureInstant(),
"lastFailureInstant muss bei PROPOSAL_READY den Vorgänger-Wert beibehalten");
}

View File

@@ -262,7 +262,7 @@ class ProcessingOutcomeTransitionTest {
@Test
void forKnownDocument_transientError_legacyHighCounters_stillFinalise() {
// Legacy data from M4-M6 may have counters well above normal expectations.
// Legacy data may have counters well above normal expectations.
// The threshold check must still apply correctly.
TechnicalDocumentError outcome = new TechnicalDocumentError(candidate(), "error", null);
FailureCounters existing = new FailureCounters(3, 10); // already far above limit

View File

@@ -728,7 +728,7 @@ class BatchRunProcessingUseCaseTest {
}
// -------------------------------------------------------------------------
// Batch-level M7 integration tests (real coordinator + capturing repos)
// Batch-level integration tests (real coordinator + capturing repos)
// These prove that skip and finalization semantics work in the actual batch run,
// not just at the coordinator unit-test level.
// -------------------------------------------------------------------------